* 84b134d - (HEAD, origin/lab_master, lab_master) comment macro defination which is protent to be a fun
|\
| * 735d88f - add small script to ease ctag related option (13 minutes ago)
* | 6623a94 - add small script to ease ctag related option (4 minutes ago)
|/
* 0d0913a - add gitignore to ignore ctags file (57 minutes ago)
735d88f是一个--amend提交,但此时发生了冲突,为什么?
我只有一台电脑,而且我总是编辑它上面的文件,我也只有一个本地电子仓库,这个回购仅供这里使用,我认为不可能发生冲突
但它发生了,为什么?
答案 0 :(得分:5)
最好只修改尚未推送到服务器的提交。一旦你推送一个提交,如果你试图修改并推送它,它将导致冲突,因为你已经改变了历史记录(记录在服务器上)。
答案 1 :(得分:0)
我没有看到冲突的例子。你所做的是从同一个时间点做出同样的改变然后合并它们。无论哪种方式,你都可以通过将所有这些压缩成一个
来解决这个问题git tag finalstate 84b134d
git stash -u
git reset --hard 0d0913a
git checkout finalstate -- .
git add -A
git commit -C finalstate
如果“注释宏”提交并且第二个“添加小脚本”提交有效,则可以
git tag finalstate 84b134d
git stash -u
git reset --hard 6623a94
git checkout finalstate -- .
git add -A
git commit -C finalstate
代替。如果你想要第二个,那么
git tag finalstate 84b134d
git stash -u
git reset --hard 735d88f
git checkout finalstate -- .
git add -A
git commit -C finalstate
使用
删除辅助标记git tag -d finalstate
如果你在第二次提交后推,然后修改,然后拉,那么你将与冲突合并。不确定为什么没有针对冲突解决方案的合并进行单独提交。您可能在处于冲突状态时执行了更多工作,修复了冲突,添加了所有更改并已提交。在这种情况下,我写的最后一组指令将对您有所帮助。