2012-01-27 309 views
1

github上有一種方法可以查看分支歷史的歷史嗎? 我的意思是,一個分支顯然只是一個指向提交散列的指針。我想要的是每次分支在服務器上指向哈希時,爲了該更改被記錄到某處,例如每次有人推送分支時都會有一個新的條目添加到新聞饋送中,例如「用戶名將branchname從oldhash改爲newhash「。歷史的歷史

這很好,因爲git允許你通過rebase編輯歷史記錄,但是如果你能看到舊的散列,你仍然可以回到舊的歷史。我在github中找不到類似的功能。如果你允許non-ff推送,那麼有一個分支用來指向什麼散列的歷史可以成爲一個真正的救星。

回答

1

GitHub本身沒有辦法做到這一點,但是你自己的本地克隆有它的內置 - 它被稱爲reflog。看看git help reflog瞭解更多詳情(another link瞭解更多信息)。

+0

我知道reflog,但不幸的是它不是一回事。首先它太冗長了;它包含了每一個變化,所以如果一個星期之後我發現某個主人被搞砸了,因爲我做了一次變身,並認爲我處於不同的分支......我有什麼機會合理地找出它應該在哪裏通過查看reflog?另一個問題當然是如果有人在上游做這件事,我怎麼知道是誰做的? – 2012-01-29 05:39:15

+0

GitHub不保留reflogs,所以基本上,你不能。 (小心你給你的存儲庫寫入權限。) – Amber 2012-01-29 06:01:29

+0

'git log --walk-reflogs '可以幫助我們弄清楚到底發生了什麼。 – Amber 2012-01-29 06:01:51