什么更好地拉动或合并到 github 上的分支

what's better pull or merge to branches on github

我在 GitHub 上有一些项目,那里几乎没有分支。

例如。现在我创建新分支 alpha-issue1。在 alpha 分支上,我的大学添加了一些提交,我想将此更改复制到我的分支。第一次我认为 git merge alpha 是个好主意,但后来我读到了 'better way' - git pull alpha test-issue1 (如果我是对的话)。所以不知道怎么选..

我不确定我是否答对了你的问题,但这是我的想法。 如果你从 alpha 分支到一个你有一些提交的新分支,标准的方法是在你完成它之后将该分支合并回 alpha。在团队中工作时,在将新分支合并到 alpha 之前将 alpha 合并到 alpha-issue1 也是一个好习惯(来自同一分支上的不同开发人员的许多提交)。这样你就必须在工作分支(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 help pull 中阅读确切的行为。所以 mergepull 之间的区别更多的是输入了一些或多或少的命令,而不是任何功能上的区别。

关于您提供的示例命令 - 不,它们没有意义。

git pull alpha test-issue1

根据你的问题,alpha 是一个分支,而不是远程分支,所以这在语法上是不正确的(语法是 git pull <remote> ...)。此外,您不能给 "target" 分支 git pull,所有合并都进入当前签出的分支。