2014-02-13 31 views
1

相對簡單的問題,但我無法在互聯網上找到很多。我的所有搜索結果只是簡單地展示瞭如何使用git分支,但並未解釋它的不同之處。與SVN相比,Git如何處理分支?

我知道,與SVN,創造了後備箱的一個新的分支手段來製造行李箱的完整副本,進入「分支」的目錄,而且我也知道了Git不創建完整副本像SVN - 那麼它是做什麼的?這更多的是將事實寫入我的DVCS研究文檔而不是任何東西。

也許擴展到這將是如何處理標籤與SVN相比?

在此先感謝。

+0

http://stackoverflow.com/a/19340965/603256 – JamesHalsall

+0

這是關於處理合並而不是創建分支?無論如何感謝 –

+0

git使用指針,分支或標籤只是一個指向提交的指針。 –

回答

3

在git中,分支只是指向某個修訂版的指針。在任何時候,你都可以回到任何舊版本(git checkout [revision]),指向另一個分支(git checkout -b new-branch),並從此開始工作。

您可以使用gitk命令來瀏覽分支樹,並且您可以通過右鍵修改等來創建分支。這個工具通常可以幫助我們更清楚地瞭解發生了什麼。 (如果你在Mac OS上,也有gitx,這是我不能沒有)

+0

晶瑩剔透。謝謝。 –

1

簡單地說:在Git中,分支就像一個標籤,不同之處在於這個標籤被移動Git本身。

換句話說:一個分支只是指向一個提交。當你在一個分支上並且你提交時,一個新的提交被創建,並且「分支標籤」被更新。

爲了減少理論上的限制,您可以在.git/refs/branches中進行操作,您將看到每個分支的文件。這些文件只包含他們指向的提交的sha1。