2015-04-01 36 views
1

我想從第一次提交中查看存儲庫,然後按一下按鈕,或者可能是命令,轉到下一次提交(整個回購)。我也會運行一些代碼在任何提交。那麼是否可以有一個工具或一些可以幫助完成的命令。在每次提交時查看存儲庫

我不能說的問題,所以請做評論。

我也想在特定的提交中運行程序。

這樣做,我可以真正理解開發者的設計過程(例如,整個項目如何實際組裝在一起?)。

我想分享基於這個想法的項目的自述文件。

a code reader which leverages the power of github's commit feature to animate the process of code writing.It also works as a tutor making each commit a level to reach and at 100 % you get a complete clone of the given repo. In tutor mode you can see the next step and then understand as well as write the code. This will help new programmers to learn how to develop large applications and also think in such a pragmatic way. This program , i m more thinking as of a desktop application but would also try to make a web app.

+0

'git log'命令具有許多用於顯示提交歷史的內置功能,請參閱[這裏](http://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History)。也許這顯示了足夠的信息? – rubenvb 2015-04-01 11:53:11

+0

我實際上想更改存儲庫內容,所以就像在第一次提交時一個人寫了一些測試,所以也許我會運行這些測試。所以在每次提交時關閉存儲庫的實時視圖。就像我可以看到項目在我面前變得成熟一樣,但不僅僅是查看這些文件也可以運行它們。 – 2015-04-01 12:17:42

+0

@GIRISHRAMNANI我實際上想要更改存儲庫內容:再次,這就是'git filter-branch'的用途。 – VonC 2015-04-01 12:36:46

回答

1

這就是git filter-branch是能夠做到:

--tree-filter <command> 

這是改寫樹及其內容

--index-filter <command> 

該過濾器是fi重寫索引。它類似於樹型過濾器,但沒有檢出樹,這使得它更快

如果你的命令沒有改變文件,那麼你將訪問每個提交併執行所述命令而不改變git回購。

訪問(按不同順序,通過二分法)提交的其他命令是git bisect:它也可以執行一個命令,但在你的情況下是過度殺傷。

+0

您能否詳細說明我如何才能使用'git filter-branch'進行初始提交。我有點嘗試但失敗了。 – 2015-04-01 12:44:34

+0

@GIRISHRAMNANI用一個簡單的'ls'來代替''作爲例子,僅僅用於測試。那麼如果你失敗了,你將需要用確切的錯誤信息編輯你的問題。 – VonC 2015-04-01 12:46:07

+0

它重寫了添加文件的一些提交。但我不知道這是如何幫助我達成最初的承諾 – 2015-04-01 12:59:06

0

可以通過發出

git log --pretty=%H 

獲得一個分支的提交列表然後,您可以遍歷這些做

git checkout <hash> 

從而改變你的計算機上的物理文件對那些對應於承諾。要查看每個完成提交更改,像

git show <hash1> <hash2> 

顯示了兩次提交的(彩色)差異。

+0

我試圖結帳,但這個錯誤顯示'致命的:無法切換分支到非提交'757e97770e50d4b35f88f6336bb ************'' – 2015-04-01 12:29:58

+0

@GIRISH如何使用'%H'而不是'% T'(我的錯誤)。 – rubenvb 2015-04-01 12:56:29

相關問題