2015-09-29 92 views
1

所以我決定改變一個分支的名字 而不是創建一個新的分支,我想我會用這個方法來重寫整個分支,但是它實際上做了什麼就是刪除我所有的遠程分支機構。Git檢索丟失的分支

任何想法我可能會讓他們回來。
(請注意,我有更多的分支,但希望這會做)

→混帳推-f --mirror
計數目標:3,完成。
增量壓縮使用多達4個線程。
壓縮對象:100%(3/3),完成。
寫入對象:100%(3/3),323字節| 0字節/秒,完成。
共3(增量2),重用0(增量0)
遠程:此存儲庫已移動。遠程
:請使用新的位置----
要----
- [刪除] some_branch
- [刪除] another_branch
* [新分支] support_page_changes - > support_page_changes
* [新的分支]原點/主 - >來源/主
* [新的分支]原點/ another_branch - >來源/ another_branch
* [新的分支]原點/ some_branch - >來源/ some_branch

謝謝。

回答

0

您可以使用git reflog來獲取您使用的最後提交的SHA1。一旦你找到正確的提交,只需檢查出來,並在那裏創建一個分支。舉例來說,如果你發現你的分支先前與SHA-1 XYZ承諾,那麼你需要做的僅僅

git checkout xyz 
git branch my_brach 

如果你不能找到SHA-1 git reflog,您可以嘗試列表所有提交都無法通過參考進行訪問:

git fsck --full --no-reflogs # don't worry if it takes time to run 

#Now, let's see what are the commits show by the previous command 
git show abc 
git show def 
...