git git 修改后合并冲突 - "Your branch and 'origin/master' have diverged"
git merge conflict after git amend - "Your branch and 'origin/master' have diverged"
事情是这样的:
- 最近提交到远程主机后,我对我的本地存储库做了一个小的微不足道的更改
- 我添加
git commit --amend
并留下与 HEAD 相同的提交消息
- 我尝试使用
git push
将 repo 推送到 master
现在我得到了
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
我想了解:
- 为什么会这样?
- 我能做些什么来防止这种情况发生?
- 如何在 git 修改后协调 master 与 local?
您更改了现有的推送提交,创建了您自己的版本(因为其内容已更改)
--x---Y (master: that is the X amended)
\
--X (origin/master)
这就是为什么在 master 和 origin/master
之间各有 1 次和 1 次不同的提交
What can I do to prevent this?
不要 "amend" 现有的推送提交(只有本地尚未推送的提交)
How do I reconcile master with local after a git amend?
只需在 origin/master 之上变基,然后推送
git rebase origin/master
--x--X---Y' (master)
|
(origin/master)
git push
--x--X---Y' (master, origin/master)
如果您是修改后唯一从事该项目的人,您可以 运行
git push -f origin master
如果您不是唯一一个从事该项目的人,请小心您所做的事情,因为它正在改写历史。
这是一篇关于修正的好文章:
https://medium.com/@igor_marques/git-basics-adding-more-changes-to-your-last-commit-1629344cb9a8
事情是这样的:
- 最近提交到远程主机后,我对我的本地存储库做了一个小的微不足道的更改
- 我添加
git commit --amend
并留下与 HEAD 相同的提交消息
- 我尝试使用
git push
将 repo 推送到 master
现在我得到了
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
我想了解:
- 为什么会这样?
- 我能做些什么来防止这种情况发生?
- 如何在 git 修改后协调 master 与 local?
您更改了现有的推送提交,创建了您自己的版本(因为其内容已更改)
--x---Y (master: that is the X amended)
\
--X (origin/master)
这就是为什么在 master 和 origin/master
之间各有 1 次和 1 次不同的提交What can I do to prevent this?
不要 "amend" 现有的推送提交(只有本地尚未推送的提交)
How do I reconcile master with local after a git amend?
只需在 origin/master 之上变基,然后推送
git rebase origin/master
--x--X---Y' (master)
|
(origin/master)
git push
--x--X---Y' (master, origin/master)
如果您是修改后唯一从事该项目的人,您可以 运行
git push -f origin master
如果您不是唯一一个从事该项目的人,请小心您所做的事情,因为它正在改写历史。
这是一篇关于修正的好文章:
https://medium.com/@igor_marques/git-basics-adding-more-changes-to-your-last-commit-1629344cb9a8