gpt4 book ai didi

git - 如何撤消 git pull 或 git push?

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

我经常使用 git,但我对底层的细节和“git 语言”并没有很深入的理解......

我有两个目录:一个在我的电脑上,一个在我的笔记本电脑上。两者都包含一个 .git 存储库(不是空的!)。

我的笔记本电脑通过 ssh 连接到我的电脑,然后我从笔记本电脑连接到电脑(添加了 ssh 远程)。

因为我无法推送到已 checkout 的分支(在笔记本电脑上),所以我在电脑上有两个分支(master 和 laptop-master)。所以我推送,然后在 pc 上 merge 分支。

在某种程度上,我弄乱了正确的顺序并且我有冲突。

我正在尝试使用 git log、git diff(和 gitk)进行清理。

为了撤消我使用过的 merge

 git reset --merge

这个命令危险吗?

我如何撤消对远程的 pull 或推送?

我是否需要一个“中央”存储库来避免冲突(我认为这意味着一个裸存储库)?

为什么无法推送到已 checkout 的远程分支?我可以用一些不危险的方式强制执行此操作吗?

每个提示都很好...谢谢

最佳答案

撤消对远程存储库的推送:

git push -f origin HEAD^:master

此命令将在一次提交后将远程存储库倒回。

要撤消 pull ,您可以这样做:

git reset --hard {hash of the last commit before pull}

拥有一个中央裸存储库会有所帮助,但是...它只是另一个 git 存储库,您可以在其中推送和 pull ;

关于git - 如何撤消 git pull 或 git push?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21437647/

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