[英]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.