这就是:
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
我想明白:
答案 0 :(得分:8)
您更改了现有的推送提交,创建了自己的版本(因为其内容已更改)
--x---Y (master: that is the X amended)
\
--X (origin/master)
这就是为什么你在master和origin / master之间分别有1个和1个不同的提交
我该怎么做才能防止这种情况发生?
不要“修改”现有的推送提交(仅限本地尚未推送的提交)
在git修改后如何协调master和local?
只需在origin / master上重新设置,然后按
git rebase origin/master
--x--X---Y' (master)
|
(origin/master)
git push
--x--X---Y' (master, origin/master)
答案 1 :(得分:1)
如果您是修改后唯一从事该项目的人,则可以运行
git push -f origin master
如果您不是唯一从事此项目的人,请小心所做的事情,因为它是重写历史。
这是一篇有关amend的好文章:
https://medium.com/@igor_marques/git-basics-adding-more-changes-to-your-last-commit-1629344cb9a8