为什么git commit --amend使冲突发生?那很奇怪

hug*_*eow 0 git version-control git-push git-amend git-commit

*   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) 
Run Code Online (Sandbox Code Playgroud)

735d88f是--amend提交,但是此时发生冲突,为什么?

我只有一台PC,而且我总是在上面编辑文件,我也只有一个本地存储库,此外,此存储库仅在此处使用,我认为不可能发生冲突吗?

但是发生了,为什么呢?

Mar*_*off 6

最好仅修改尚未推送到服务器的提交。推送提交后,如果尝试修改并推送,则会导致冲突,因为您更改了历史记录(记录在服务器上)。

  • 他一个人工作。他没有这些问题。在您进行协作的情况下,您是正确的,但是即使那样,它也不像人们所说的那样邪恶。 (2认同)
  • @ adam-dymitruk即使一个人工作,如果他们拥有多台计算机/存储库,也可能会合并多个历史版本。在#git IRC频道上看到很少有人设法在公司环境中合并了大量重写的历史记录,而现在却遇到了很多麻烦,我确实认为呼吁过于谨慎是有道理。 (2认同)