2015-06-16 63 views
0

我是GitHub的新手,我不完全明白分支是什麼。我感覺它就像一個文件夾。請解釋一下:文件夾和分支之間究竟有什麼區別?在GitHub存儲庫中,分支與文件夾有什麼不同?

+0

你是什麼意思的「文件夾」?你能詳細說明嗎? –

+2

這不是你能從這裏快速回答中得到的東西。你的問題背叛了對基礎知識的缺乏理解。我建議你花一些時間瀏覽像git book這樣的綜合git教程(https://git-scm.com/book/en/v2)。這應該讓你啓動並運行。 –

+0

另請參閱http:// stackoverflow。com/a/2107672/6309 – VonC

回答

0

閱讀article瞭解github是如何工作的。

一個分支就像一個正在進行的工作,你製作一個主代碼(或其中的一部分)的副本進行更改(添加新功能或修復一個bug),並且當你測試它時,將它合併回主分支。所以整個想法基本上都有一個開發分支和一個穩定的工作分支,如果在變化過程中出現問題,您可以使用它。

+0

如果鏈接中斷,您的回答會發生什麼? – Maroun

+0

雖然你的回答沒有錯,但我不認爲它回答OP。 –

0

某種程度上,它們都是一組文件。但是,它們的概念來自不同的環境,使用方式非常不同。

A 文件夾是文件系統的一個功能。我希望我不必多說,因爲這是一個基本的計算概念。您可以嵌套文件夾,並且它們沒有關於版本控制系統的特殊功能(主要是歷史記錄)。

A 分支是版本控制系統的一個功能。它允許您一次管理更多的開發任務。它們包含歷史記錄,您可以隨時檢查他們從哪個提交中轉移。但是,你不能將它們嵌套在Git中。

我會開始學習如何在Git上使用分支https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging

2

迄今爲止的回答很好;我會補充我的兩分錢。你已經知道一個文件夾是什麼,所以接下來我們必須考慮一下提交是什麼。提交是一個文件夾的快照 - 特別是某個時間點存儲庫的根文件夾。一個分支只是一個指針來提交。從優秀Git book看看下面的圖片:

enter image description here

在這張圖片中,灰色框的提交。你可以看到每個人都有自己的主文件夾快照。橙色框是分支 - 注意它們如何只是指向提交的指針。在這種情況下,有兩個分支(v1.0master),它們都碰巧指向相同的提交。 HEAD指向您當前所在的分支。因此,如果您要在上述情況下作出新承諾,master將指向新承諾,其父承諾爲f30abv1.0仍然會指向f30ab

因此,儘管分支可以在某種程度上像文件夾一樣行事,因爲不同的分支可以「包含」不同的(版本)文件,實際上它是包含這些不同(版本)文件的不同提交,提交。

順便說一句,正如其他人所提到的,你應該真的閱讀Git book。在瞭解基礎知識的基礎上,使用Git更加愉快。

+0

+1在閱讀Git書籍時,它不僅能夠幫助您理解內部結構,而且還能夠推斷其命令和工具的作用以及何時使用它們。值得一小時左右閱讀。 –

相關問題