相对简单的问题,但我无法在互联网上找到很多。我的所有搜索结果只是简单地展示了如何使用git分支,但并未解释它的不同之处。与SVN相比,Git如何处理分支?
我知道,与SVN,创造了后备箱的一个新的分支手段来制造行李箱的完整副本,进入“分支”的目录,而且我也知道了Git不不创建完整副本像SVN - 那么它是做什么的?这更多的是将事实写入我的DVCS研究文档而不是任何东西。
也许扩展到这将是如何处理标签与SVN相比?
在此先感谢。
相对简单的问题,但我无法在互联网上找到很多。我的所有搜索结果只是简单地展示了如何使用git分支,但并未解释它的不同之处。与SVN相比,Git如何处理分支?
我知道,与SVN,创造了后备箱的一个新的分支手段来制造行李箱的完整副本,进入“分支”的目录,而且我也知道了Git不不创建完整副本像SVN - 那么它是做什么的?这更多的是将事实写入我的DVCS研究文档而不是任何东西。
也许扩展到这将是如何处理标签与SVN相比?
在此先感谢。
在git中,分支只是指向某个修订版的指针。在任何时候,你都可以回到任何旧版本(git checkout [revision]
),指向另一个分支(git checkout -b new-branch
),并从此开始工作。
您可以使用gitk
命令来浏览分支树,并且您可以通过右键修改等来创建分支。这个工具通常可以帮助我们更清楚地了解发生了什么。 (如果你在Mac OS上,也有gitx,这是我不能没有)
晶莹剔透。谢谢。 –
简单地说:在Git中,分支就像一个标签,不同之处在于这个标签被移动Git本身。
换句话说:一个分支只是指向一个提交。当你在一个分支上并且你提交时,一个新的提交被创建,并且“分支标签”被更新。
为了减少理论上的限制,您可以在.git/refs/branches
中进行操作,您将看到每个分支的文件。这些文件只包含他们指向的提交的sha1。
http://stackoverflow.com/a/19340965/603256 – JamesHalsall
这是关于处理合并而不是创建分支?无论如何感谢 –
git使用指针,分支或标签只是一个指向提交的指针。 –