2014-02-13 30 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。