2012-02-20 48 views
1

GitGuys如何檢索到遠程跟蹤分支的意外提交?

遠程跟蹤分行不應該由用戶(不使用Git分支設置爲通過git的結帳遠程跟蹤分支,然後嘗試修改遠程跟蹤分支)進行修改。

不幸的是,這正是我偶然發生的事情,並且做了一天的工作。現在,在切換到另一個分支之後,這些提交已經消失,並且無法在任何現有分支(本地或遠程)的日誌中找到。

幸運的是,我仍然在.git/logs/HEAD中看到它們,並且使用git show,其中的散列給出了代碼差異,所以它們不會完全丟失。我的問題:

  • 我怎樣才能將這些變化變成一個正規的分支?
  • 如果不應該提交到遠程跟蹤分支,爲什麼它不會導致錯誤?

回答

1

提交可能仍然存在。你只需要找到一個指向他們的參考。

使用git reflog找到您最後一次丟失的提交。一旦找到該提交,請使用git checkout -b <branch name> <lost commit hash>創建並簽出指向該提示的分支。

就錯誤而言,您應該收到一條消息,說您正處於無頭狀態。

相關問題