这就是发生的事情:
git commit --amend
并留下与HEAD相同的提交消息git push
把回购推向掌握现在我得到了
On branch master
Your branch and 'origin/master' have diverged,
and have 1 and 1 different commit each, respectively.
(use "git pull" to merge the remote branch into yours)
nothing to commit, working directory clean
我想了解:
发布于 2017-04-08 05:16:23
您更改了现有的推送提交,创建了自己的版本(因为其内容已经更改)
--x---Y (master: that is the X amended)
\
--X (origin/master)
这就是为什么在主和源/主之间有1和1不同的提交。
我能做些什么来防止这件事?
不要“修改”现有的推送提交(只有本地的未被推送的提交)
在修改完git后,我该如何与本地协调呢?
简单地重新建立在原点/主人的顶端,然后推。
git rebase origin/master
--x--X---Y' (master)
|
(origin/master)
git push
--x--X---Y' (master, origin/master)
然而,jwinn在the comments中指出,它可能意味着您的修改已经消失("warning: skipped previously applied commit
"),而不是让您的本地修改(在已经被推送的提交)到origin/master
的方式。
发布于 2020-02-20 10:25:52
如果只有您在修改后才在项目上工作,您就可以运行
git push -f origin master
如果你不是唯一一个在这个项目上工作的人,那么要小心你所做的事情,因为它正在重写历史。
这里有一篇关于修正的伟大文章:
marques/git-basics-adding-more-changes-to-your-last-commit-1629344cb9a8
https://stackoverflow.com/questions/43289444
复制相似问题