1

我使用 github 已经有一段时间了。现在我有一个项目的多个分支,并且同时在几个分支上工作。对于每个分支,我都有一个专用于自身的文件夹,我提交并推送到各自的分支。现在我有一种情况,我必须用 master 中的更改来更新我的一个分支,因为我在对 master 进行更改之前进行了分支。在我进行任何提交之前,我创建了一个“游乐场”回购并正在使用它。这是我遵循的将更改从我的 master 合并到分支的方法,我想得到你对这个方法的所有意见 - 无论它是否正确,以及是否需要做其他事情。当然,我使用 SO 想出了这种方法,但答案是多个问题的零碎。

作为旁注,当我查找信息时,我发现我不必为分支创建单独的文件夹,并且可以只使用 1 个文件夹。但我更喜欢这种方法——维护单独的文件夹。

这是我所做的:

# make some changes to master and commit it

git add .
git commit -m 'at last!'
git push -u origin master

# cd to the branch

git pull

git merge origin/master

# now commit to branch

git add .

git commit -m 'updates from master'

git push -u origin playground-0.1

你能告诉我我是否遵循正确的方法吗?非常感谢!

4

1 回答 1

1

多个文件夹非常好,特别是如果您需要在不同的分支中同时工作。

您的合并 ( git pull) 似乎是正确的。
另一种方法是变基:请参阅“ git merge vs. git rebase ”,以避免出现混乱的历史,例如:

合并

但这在以下情况下效果最好:

  • 你还没有推送你的分支。
  • 你重新建立在上面origin/sameBranch(即你把你的工作重新建立在从其他用户那里收到贡献的同一个分支之上:这与重新建立一个人的工作在上面不同master)。

对于不同的分支(比如master和您的分支),合并是更可取的,如“为什么不应该使用git merge --rebase”中所述。

合并

如果master引入了一些错误,您就知道该去哪里找了。

于 2013-07-01T14:32:56.000 回答