Git 合并和遗漏更改
Git Merge and Missing changes
我对 GitHub 有点陌生。如果这是一个菜鸟问题,请提前道歉。
我有 2 个分支,Dev
和 Master
。我在 Dev
上工作。当我想与 Master
合并时,我做了以下操作:
$ git checkout master
$ git pull origin master
$ git merge dev
然后我发生了一些冲突。我使用 Sourcetree 修复了冲突。
然后当我提交新的更改时,使用:
$ git commit -m "Dev merged in Master"
没有冲突的文件显示在 Master
分支中,但有冲突的文件没有显示任何更改。
他们在 Dev
但不在 Master
。
我做错了什么?
您是否将文件标记为已解决?
在 CLI 中,解决冲突后:git add yourFile
在结束合并之前暂存此文件。
我没有足够的声誉来添加评论,所以很抱歉写这个作为答案。
正如@Jérémy Giuseppi 提到的,如果您希望将文件包含在您的提交中,则必须始终在进行任何修改后添加文件。解决冲突后,您对文件 B 进行了修改,但使用 git commit -m 'message'
不包括这些更新。
为了避免将来出现这种情况,我建议使用 git commit -a -m 'message'
,其中 -a
标志告诉 git 将自上次提交以来修改过的所有文件添加到新的提交消息中。
查看 How to resolve merge conflicts in Git? 以查看 git
中解决冲突的工作流程
我对 GitHub 有点陌生。如果这是一个菜鸟问题,请提前道歉。
我有 2 个分支,Dev
和 Master
。我在 Dev
上工作。当我想与 Master
合并时,我做了以下操作:
$ git checkout master
$ git pull origin master
$ git merge dev
然后我发生了一些冲突。我使用 Sourcetree 修复了冲突。
然后当我提交新的更改时,使用:
$ git commit -m "Dev merged in Master"
没有冲突的文件显示在 Master
分支中,但有冲突的文件没有显示任何更改。
他们在 Dev
但不在 Master
。
我做错了什么?
您是否将文件标记为已解决?
在 CLI 中,解决冲突后:git add yourFile
在结束合并之前暂存此文件。
我没有足够的声誉来添加评论,所以很抱歉写这个作为答案。
正如@Jérémy Giuseppi 提到的,如果您希望将文件包含在您的提交中,则必须始终在进行任何修改后添加文件。解决冲突后,您对文件 B 进行了修改,但使用 git commit -m 'message'
不包括这些更新。
为了避免将来出现这种情况,我建议使用 git commit -a -m 'message'
,其中 -a
标志告诉 git 将自上次提交以来修改过的所有文件添加到新的提交消息中。
查看 How to resolve merge conflicts in Git? 以查看 git
中解决冲突的工作流程