簡體   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