0

我有两个远程分支,“葡萄”和“主人”。我目前在“葡萄”上。

现在我切换到“大师”:

git checkout master

现在我想将所有更改从“葡萄”拉到“主人” - 这是这样做的方法吗?:

git merge origin grape

我的理解是 git 会将远程分支“葡萄”的所有当前状态拉到我的本地“主”副本中。它将尝试为我自动合并。如果存在冲突,则冲突的文件将实际注入一些冲突文本到文件中。然后我必须进入这些文件,并删除我不想要的块(基本上告诉 git 如何合并这些文件)。

对于每个有冲突的文件,我是否要再次添加并提交更改?:

git add problemfile1.txt
git commit -m "Fixed merge conflict."

git add problemfile2.txt
git commit -m "Fixed another merge conflict."

...

在我修复了上述所有合并冲突之后,我是否只需再次推送到“master”以完成该过程?:

git push origin master

或者当我们进入这种冲突状态时,我们还需要做些什么吗?

谢谢

4

2 回答 2

0

在我看来,您应该首先手动解决文件中的所有合并冲突,然后您可以提交并推送到 master,它会起作用。

如果你按照你说的那样做,你的提交历史将充满垃圾提交,如果你和朋友一起做任何项目,那真的很烦人。

于 2012-08-28T15:32:45.247 回答
0

origin引用另一个服务器上的另一个存储库;通常,它指的是您从中提取 repo 的 github 服务器。如果你想合并葡萄和主分支,那么你需要git merge grape解决任何冲突,然后你可以将更新推送到服务器。

您可以通过查看和编辑它说存在冲突的文件来解决合并问题,使其成为您希望它们结束的方式,将它们添加到索引中,然后提交。

于 2012-08-28T15:36:14.387 回答