2013-04-30 77 views
1

的輸出,我做了一個本地分支'git --reset hard origin/master',所以我很期待我的本地分支完全匹配到遠程之一。然而,當我做:試圖解釋「git的日誌--graph」

git log --graph --oneline --decorate --all 

我會在頂部以下的輸出:

* dfd9bc6 (refs/stash) On z_tmp2: tmp1 
|\ 
| * 49f3b6f index on z_tmp2: 84e2002 localconfig 
|/ 
* 84e2002 localconfig 
| * 1110f48 (origin/congo-3.1-stable) Boiler plate code to support 

提交84e2002,49f3b6f和dfd9bc6似乎我雖然會一直被消滅了當地的工作'reset --hard',但顯然我錯過了一些東西。

回答

1

reset不抹任何東西了,它的一個分支只從字面上重置爲不同的提交。

正如您在日誌輸出中看到的,您仍然有一個指向舊提交的參考(refs/stash,您的默認stash)。

如果您不需要這些提交任何更長,並希望使他們從日誌中消失,使用

git stash drop 

從Git的對象存儲提交的實際刪除將與Git的下次運行發生垃圾回收器,一旦提交不再被引用。但除非您有磁盤空間問題,否則您可能不必擔心這一點。

+0

謝謝你的澄清。跟進的問題:如果我想要的東西,以保持在我的藏匿這些提交,但沒有將它們與我的分支相關聯? – opike 2013-04-30 20:12:08

+0

他們arent與分支相關聯。他們與他們的父母承諾,這是你無法突破的關係相關聯的(至少不是同時保持相同的提交對象) – 2013-04-30 20:17:01