我一直在试图合并一些git分支,我搞砸了一下。无论如何,我现在处于一种情况,我最近的本地提交代表了我想要记录在远程仓库中的状态。如何覆盖远程git“提交提交”
但是,我的本地回购是在我的远程回购后提交的2次。同步我的本地和远程回购的最佳方式是什么,这样我的本地文件根本不会变动?
我一直在试图合并一些git分支,我搞砸了一下。无论如何,我现在处于一种情况,我最近的本地提交代表了我想要记录在远程仓库中的状态。如何覆盖远程git“提交提交”
但是,我的本地回购是在我的远程回购后提交的2次。同步我的本地和远程回购的最佳方式是什么,这样我的本地文件根本不会变动?
如果您正在使用没有其他人使用分支的工作,那么你可以使用
git push --force
请记住,这是一个非常危险的命令,因为你将不仅消灭某些提交该分支(包括任何可能在您不知情的情况下由同事介绍的分支),但是您也将与任何其他分支(包括那些现在缺少提交的分支)形成混乱局面。
--force
的驯化者版本是--force-with-lease
,它至少可以确保您不覆盖您本地回购库不知道的提交。
你可能要考虑使用
git rebase --interactive <commit-hash>
其中<commit-hash>
是最后一个承诺,你仍然有共同与原分公司。然后,您可以压缩自提交后的所有提交,然后合并或重新绑定您的原始分支,然后正常推送到服务器。这将是一个风险较小的方法,将您的更改返回到服务器。
刚开始另一个分支从给定的承诺,并开始干活新的分支,
无需改写历史。
'git push --force' – orhtej2