2017-10-10 95 views
0

我一直在试图合并一些git分支,我搞砸了一下。无论如何,我现在处于一种情况,我最近的本地提交代表了我想要记录在远程仓库中的状态。如何覆盖远程git“提交提交”

但是,我的本地回购是在我的远程回购后提交的2次。同步我的本地和远程回购的最佳方式是什么,这样我的本地文件根本不会变动?

+1

'git push --force' – orhtej2

回答

1

如果您正在使用没有其他人使用分支的工作,那么你可以使用

git push --force 

请记住,这是一个非常危险的命令,因为你将不仅消灭某些提交该分支(包括任何可能在您不知情的情况下由同事介绍的分支),但是您也将与任何其他分支(包括那些现在缺少提交的分支)形成混乱局面。

--force的驯化者版本是--force-with-lease,它至少可以确保您不覆盖您本地回购库不知道的提交。

你可能要考虑使用

git rebase --interactive <commit-hash> 

其中<commit-hash>是最后一个承诺,你仍然有共同与原分公司。然后,您可以压缩自提交后的所有提交,然后合并或重新绑定您的原始分支,然后正常推送到服务器。这将是一个风险较小的方法,将您的更改返回到服务器。

1

刚开始另一个分支从给定的承诺,并开始干活新的分支,

无需改写历史。