2014-01-24 31 views
1

我不記得哪個提交是某個階段:現在我需要將所有提交導出到不同的目錄來測試它們。我怎樣才能將所有回購與不同的時間戳導出到新的目錄?從很多時間戳導出Git倉庫到新的時間戳?

enter image description here

+0

我想現在說太遲了:給你的提交好評! ;) – GreenAsJade

+0

@GreenAsJade其實我非常肯定,正確的提交是'2014-01-16 02:59',但是在每次提交之後快速運行repo會很好。 – hhh

+0

一個好的答案將取決於具體情況。爲什麼你需要將提交導出到不同的目錄?你想做什麼類型的測試? –

回答

1

我會通過使用Git的UI,而不是檢查出來每一個承諾解決這個問題。

例如,使用SourceTree,您可以單擊每個提交(它是圖中的一個節點),並立即查看該節點的增量和/或該節點的代碼狀態 - 而無需檢查整個承諾。我認爲這樣你會很快找到你正在尋找的提交,如果你知道你正在尋找什麼來源。

如果您需要實際構建和測試每個提交,這不是一個有用的建議(我會嘗試單獨解決這個問題)。

+0

我使用tig,但現在我想運行每次提交而不重新讀取所有內容,對於我來說,最快的方法就是運行回購的特定階段,並查看它是如何工作的,而無需讀取所有內容。基本上我也可以問:有沒有一些簡單的方法來運行具有特定時間戳的git回購? – hhh

1

我還沒有找到一個工作解決方案,但是Freenode的Git下面提供了一些建議。也許最簡單的方法是git stash並在每個命令之後測試該文件。

Git-bisect尋找在過去的十年提交一個bug(需要適當的錯誤處理)

$ git bisect start HEAD HEAD~10 -- # culprit is among the last 10 
$ git bisect run ~/test.sh 
$ git bisect reset     # quit the bisect session 

Git的日誌越來越提交哈希

git log --pretty=format:%H HEAD~10..HEAD | while read i; do git checkout $i; ./test.sh; done 

Git Archive導出(手動工作並不確定是否出口一切)