簡體   English   中英

如何撤消Git中的最后本地提交並返回到遠程狀態?

[英]How to undo last local commits in Git and go back to the remote state?

我將一個遠程分支合並到我的本地倉庫中,它創建了26個本地提交。

現在,我想還原此合並,但是它認為將提交一一還原或尋找遠程版本的最后提交來還原它是相當無聊且對錯誤敏感的。

我看過這篇文章如何撤消Git中的最后一次提交? 答案很有趣,但是我沒有找到任何簡單的本地還原方法。

有人可以幫忙嗎?

使用Git日志和Git重置

git log

這將為您提供帶有消息的提交ID,您可以通過該消息來標識您的提交ID。

使用提交ID來重新設置。

git reset <commit-id>

如果您永久要返回到該提交。 您可以使用以下內容。

git reset --hard <commit-id>

我嘗試了一兩件事,這有點臟,但是它很簡單並且似乎可以工作:

  • 簽出到另一個分支(如果沒有則創建一個): git checkout -b tempo
  • 刪除壞的本地分支: git branch -D dirty_one
  • 重新創建與遠程同步的本地分支: git checkout -b dirty_one origin/dirty_one

就這樣。

我認為骯臟的是,錯誤的本地提交仍在本地存儲庫中,但是分支不知道它們,因此它們可能保持隱藏狀態。

如果我重做合並(實際上我已經做過),則合並工作得很好,但是我不知道具體如何(那個臟部分...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM