我在GitHub上有一些项目,那里没有几个分支。有什么更好的拉或合并到github上的分支
- 主
- 阿尔法
- 测试
例如。现在我创建新分支alpha-issue1
。在alpha分支上添加了我的大学的一些提交,我想将这些更改复制到我的分支。第一次我认为git merge alpha
会是个好主意,但后来我读到了'更好的方法' - git pull alpha test-issue1
(如果我是对的)。所以我不知道如何选择..
我在GitHub上有一些项目,那里没有几个分支。有什么更好的拉或合并到github上的分支
例如。现在我创建新分支alpha-issue1
。在alpha分支上添加了我的大学的一些提交,我想将这些更改复制到我的分支。第一次我认为git merge alpha
会是个好主意,但后来我读到了'更好的方法' - git pull alpha test-issue1
(如果我是对的)。所以我不知道如何选择..
直接回答你的问题:一个git pull
为(大约)相当于git fetch ; git merge
。如果你愿意,你可以阅读git help pull
的确切行为。因此,merge
和pull
之间的区别更多地是输入一些或多或少的命令,而不是关于任何功能差异。
关于您给出的示例命令 - 不,它们没有意义。
git pull alpha test-issue1
根据您的问题,alpha
是一个分支,没有遥控器,所以这是语法不正确(语法是git pull <remote> ...
)。此外,您不能给“目标”分支git pull
,所有合并进入当前签出分支。
我不知道我是否能正确回答你的问题,但这里是我的想法。 如果您将alpha
分支到您有几个提交的新分支,则标准方法是在完成后将该分支合并回alpha
。将alpha
合并到alpha-issue1
之前,在团队中工作时将新分支合并到alpha
之前(许多来自同一分支的不同开发者的提交)也是一种很好的做法。这样,您将不得不解决工作分支(alpha-issue1
)而不是主要(alpha
)的可能冲突。 另一方面,当你想用最新的提交更新你的分支时,通常使用pull。
假设你是alpha-issue1
,git merge alpha
将重播的alpha
分支的,因为它从alpha-issue1
分歧上alpha-issue1
顶部的变化。
假设你是alpha-issue1
,git pull alpha
将拉动alpha
分支上的修改,因为它从alpha-issue1
分歧和合并它alpha-issue1
。正如你所看到的,它本质上是一样的。
事实上,更好的问题将是git-merge vs git-rebase
'git pull'实质上就是'git fetch',后面是'git merge'。所以这是询问运行'git merge'还是运行'git merge'好。要问的问题不是“拉动vs合并”,而是“合并vs rebase,如果合并,恰恰是*合并”。 – torek