Str*_*rnd 6 git merge git-commit
我前段时间有合并冲突,并且怀疑是我自己。现在我又遇到了同样的问题,这次我可以确定,我对冲突负责。
昨天我对分支进行了一些更改,然后进行commit了更改push。这是第一个,并且到目前为止仅提交到分支(本地和远程)。
今天,我做了一些更改(显然是在相同的文件中),添加了更改并commit --amend提交给push他们并尝试了。
这是我发生合并冲突的情况: Updates were rejected because the tip of your current branch is behind
我修复了更改,添加,提交并推送了它们。现在一切都好。
但是我想从我的错误中学习。这是什么错误?(我认为这与使用有关git commit --amend)
amend——改变历史。
初始状态
Origin: A
Local: A
Run Code Online (Sandbox Code Playgroud)
然后你承诺并推动
Origin: A - B
Local: A - B
Run Code Online (Sandbox Code Playgroud)
然后你承诺修改
Origin: A - B
Local: A - C // local commit B replaced by new commit C
Run Code Online (Sandbox Code Playgroud)
然后你尝试推送并收到消息,你需要先拉取。提交 C 包含来自 B 的更改,但它是不同的提交。拉动后你会遇到冲突。