繁体   English   中英

如何撤消尚未推送的提交?

[英]How do I undo commits that haven't been pushed yet?

我做了两次提交而没有推它们。 已经有多个其他提交被推送到我的分支机构。 我还没有撤回这些提交。 我想要销毁我没有被推送的两个提交,然后只获得其他人推送的其他多个提交。 有人可以帮我弄这个吗?

我想一个接一个地反转这两个提交。 但我想保留其他变化。 这会有用吗?

如果你有两个你没有推送的提交,而你根本不想要它们,那么你应该重置为想要开始然后拉动的提交,而不是反转。

所以,我假设你有以下情况。

$ git log --oneline --graph
* fde0ba4 Commit 2 (don't want)
* d7be6f3 Commit 1 (don't want)
* 7a70e45 Before my new commits (start here!)
* db58591 Even earlier
...

等等。 你不希望前两个提交,但你想要第三个提交。 第一步是重置回你想要的地方。

git reset --hard 7a70e45

请注意,这是一种破坏性操作 - 您将丢失这些提交以及这些提交的内容,因此请谨慎操作! 如果您不确定--hard是否合适,请参阅git reset文档

重置后,您应该能够毫无问题地完成任务。

git pull

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM