Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与SVN相比,Git如何处理分支?_Git_Svn_Branch_Dvcs - Fatal编程技术网

与SVN相比,Git如何处理分支?

与SVN相比,Git如何处理分支?,git,svn,branch,dvcs,Git,Svn,Branch,Dvcs,相对简单的问题,但我在网上找不到太多。我所有的搜索结果都只是显示了如何使用git分支,但没有解释它的不同之处 我知道有了SVN,创建一个新的主干分支意味着创建一个主干的完整副本,进入“branchs”目录,我还知道Git不像SVN那样创建完整副本-那么它做什么呢?这更多是为了在我的DVCS研究文档中写入事实,而不是任何东西 与SVN相比,git处理标记的方式可能是对此的扩展 提前谢谢 在git中,分支只是指向某个修订的指针。在任何时候,您都可以返回到任何旧版本(git checkout[revi

相对简单的问题,但我在网上找不到太多。我所有的搜索结果都只是显示了如何使用git分支,但没有解释它的不同之处

我知道有了SVN,创建一个新的主干分支意味着创建一个主干的完整副本,进入“branchs”目录,我还知道Git不像SVN那样创建完整副本-那么它做什么呢?这更多是为了在我的DVCS研究文档中写入事实,而不是任何东西

与SVN相比,git处理标记的方式可能是对此的扩展


提前谢谢

在git中,分支只是指向某个修订的指针。在任何时候,您都可以返回到任何旧版本(
git checkout[revision]
),将另一个分支指向它(
git checkout-b new branch
),然后从该点开始工作


您可以使用
gitk
命令浏览分支树,还可以通过右键单击修订版等创建分支。此工具通常有助于更清楚地了解引擎盖下的情况。(如果你在Mac OS上,还有一个分支,我离不开它)

在git中,分支只是指向某个修订版的指针。在任何时候,您都可以返回到任何旧版本(
git checkout[revision]
),将另一个分支指向它(
git checkout-b new branch
),然后从该点开始工作


您可以使用
gitk
命令浏览分支树,还可以通过右键单击修订版等创建分支。此工具通常有助于更清楚地了解引擎盖下的情况。(如果你在Mac OS上,还有一个,我离不开它)

简单地说:在Git中,一个分支就像一个标记,区别在于这个标记是由Git本身移动的

换句话说:一个分支只是指向一个提交。当您在分支上进行提交时,将创建一个新的提交,并更新“分支标记”


要使其不那么理论化,您可以进入
.git/refs/branchs
,然后您将看到每个分支的一个文件。这些文件只包含它们所指向的提交的sha1。

简单地说:在Git中,分支就像一个标记,区别在于这个标记是由Git本身移动的

换句话说:一个分支只是指向一个提交。当您在分支上进行提交时,将创建一个新的提交,并更新“分支标记”


要使其不那么理论化,您可以进入
.git/refs/branchs
,然后您将看到每个分支的一个文件。这些文件只包含它们所指向的提交的sha1。

这是关于处理合并而不是创建分支的?无论如何,感谢Git使用指针,分支或标记只是指向提交的指针。这是关于处理合并而不是创建分支?无论如何,感谢Git使用指针,分支或标记只是指向提交的指针。