gpt4 book ai didi

Git 分歧分支 - 恢复更改

转载 作者:太空狗 更新时间:2023-10-29 14:48:44 25 4
gpt4 key购买 nike

一个新的开发者在一个大的 git 仓库上发疯了,真的把它搞砸了并推送了。他所有的改变都可以扔掉。

我的问题:我们的 git 主机不允许 push --force,所以我必须先 pull。

如果我这样做,我会遇到很多 merge 和冲突,并且没有必要解决它们。恢复其他人所做的所有更改以便我可以推送当前版本的最佳方法是什么?

最佳答案

我找到了一种方法来完成我需要的事情。

我在这里为处于相同情况的其他人发布我的解决方案。很可能有一种更简单的方法,所以如果您知道,请不要犹豫,发布。


首先,提交所有更改,这样您就有了一个干净的工作目录。检查 git status 是否没有剩余更改。

然后,创建一个新的临时分支来存储您的更改。

git branch tmp

现在你应该找到你和远程分支分歧的最后一次提交。您将需要提交哈希,例如 63da978a9a4620790b75dfbae86d658a65dc3e25。

当您找到它时,将您的 master 分支重置为该提交。

git reset --hard COMMIT

现在从您的 Remote 中提取更改。不应发生冲突。

git pull origin master

现在您可以恢复应该丢弃的提交。

git revert COMMIT1

如果您已正确完成所有操作,那么只需最后一步即可完成该过程:将所有更改 merge 回您的 tmp 分支。

git merge tmp

同样,应该不会发生任何冲突。

您现在有一个可以再次推送的最新分支。欢呼!

git push origin master

关于Git 分歧分支 - 恢复更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10534518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com