我是git的新手,我做了一些更改,git告诉我我需要先拉,所以我拉了但是我的编辑器没有显示修改后的版本,所以我再次提出冲突,我解决了冲突和再次承诺。现在我有3个提交! (虽然我认为第一个不应该在那里)
问题是我每次提交后都会推送。那么有没有办法合并那些被推送的提交?
您能否提供一步一步的解释?我之前使用过svn和cvs,但我对git很新。
答案 0 :(得分:0)
您所描述的情况似乎不太可能,因为在冲突时尝试提交会导致以下错误:
fatal: 'commit' is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as
appropriate to mark resolution and make a commit, or use 'git commit -a'.
如果您无法提交冲突,那么运行git push实际上不会推动更改。
您可以运行以下命令来查看实际发生的提交
git log --patch --color
答案 1 :(得分:0)
如果我正确理解你的问题,这应该做你想做的事情
您可以将所有这三个提交与git rebase -i HEAD~3
一起压缩。这基本上摆脱你的不良提交,你最后一个内容将是最终内容。
运行命令时,会弹出一个编辑器。替换pick in the second and third line with
壁球。您需要再次使用-f
标记。
如果它们是你的最后三次提交,这将有效。如果他们远远落后于此。你需要再往前退一步,只需将squash
放在你要压缩的两个提交上。