
我從 Github 克隆了一個項目,現在我希望將其恢復到第一次提交,我該怎麼做?另外,一旦我回到第一個提交,我如何進入第二個提交,然後從第二個提交到第三個提交,依此類推。
答案1
您可以透過提供 SHA1 id 來檢查任何修訂:
git checkout <SHA1>
一個名為的幫助腳本git-walk
為此而設計。即使您不會使用明確腳本,也可以查看(非常簡單的)程式碼來了解做了什麼。
答案2
首先,為了讓您以後的生活更輕鬆,您可以設定一個本地別名來查找初始提交和特定提交的子提交(注意:這並不總是可能的,因為 有向無環圖作品)
git config --local alias.first-sha "!git rev-list --all | tail -n 1"
git config --local alias.child-sha "!git rev-list HEAD..master | tail -n 1"
然後,您可以檢查初始提交並透過檢查每個子 sha 來逐步執行程式碼:
git checkout $(git first-sha)
git checkout $(git child-sha)
如果你是 git 新手,我建議你去讀我寫的一篇文章單步執行提交其中詳細介紹了所使用的每個命令
答案3
對於所有文件,嘗試
git show HEAD
對於特定文件,嘗試
git log -p filename