git:不同的分支创建和合并技术

时间:2014-02-07 13:51:01

标签: git git-branch git-merge

git checkout -b some_branch master

这相当于声明:

git checkout master
git branch some_branch
git checkout some_branch

如果没有,那有什么区别?

就合并而言:

git checkout master
git pull
git pull origin some_branch

是否与:

相同
git checkout some_branch
git pull
git checkout master
git pull
git merge some_branch 

2 个答案:

答案 0 :(得分:4)

Q1。

Q2。

  • 不,因为你的拉动订单不同而且遥控器可以在这两个事件之间发生变化。

  • 不,因为只有当配置中没有git pull时,git pull origin才等同于branch.topic.remote

  • 不,因为pull.rebasebranch.topic.rebasebranch.autosetuprebase配置条目可以使pull重新基础,而不是让它合并。

  • 不,因为some_branch在两个场景结束时将处于不同的状态。它将在第二种情况下更新(从原点获取并合并) - 在git checkout some_branch && git pull之后,但仅在git pull origin some_branch之后的第一种情况下获取。

答案 1 :(得分:-1)

关于退房的第一个问题:是的,它们是等同的。唯一的区别是您键入的字符数。

关于合并的第二个问题:与上述答案相同。

我发现Git有两种基本命令:粒度和复合。

粒度命令类似git branch foo,用于创建分支。复合命令只是一种更简单,更快捷的方式来键入多个粒度命令,例如git checkout -b foo master

在我使用的源代码控制系统中,Git需要进行最多的输入,直到您了解命令集,并利用它们内置的所有小捷径。