Git 查看文件的歷史


用慣了tfs,剛一接觸git感覺很不順手,特別是一些很基本的操作,用起來都怪怪的(可能是不習慣命令行的原因吧)。
下面把查看文件歷史的用例小結一下。


查看某個文件的修改歷史

在git中查看歷史的命令主要是git log,要查看某個文件的修改歷史可以這樣:

$ git log -- begin.txt

可以添加不同的選項讓輸出的內容或格式有所不同。

$ git log -p -- begin.txt

-p 選項可以輸出每次提交中的diff, 但個人感覺會把輸出搞得很長、很亂,不容易找到重點。
個人比較喜歡的方式是:

$ git log --pretty=oneline -- filename

在log 命令中加入 --pretty=oneline 選項會讓結果看起來清爽一些,但是只能看到comments,看不到提交的用戶和日期。
這也能夠讓我們集中注意力快速找到關注的提交記錄。
然后使用 git show命令查看完整的提交內容。

當然,除了命令行工具您也可以使用GUI程序查看文件的歷史記錄:
gitk filename


查看歷史中的文件內容

當我們使用 git log 命令找到了某次提交,並且想看看這次提交時文件的完整內容。
這時,我們需要使用 git show 命令:

$ git show xxxxx:filename

也許此時你並不是看看就算了,你想要使用這個版本的文件更新工作區中的文件。
直接從 git show 命令的輸出中拷貝內容是個不錯的選擇。
但也可以通過組合使用不同的命令來實現:

$ git checkout <commit> --filename
$ git reset filename

此時只有工作區被更新了(你也可以把他當做是一次回滾操作)。

比較歷史中不同的文件版本

我們經常使用版本控制工具來對比提交歷史中的兩個文件,下面看看用 git 怎么做:

$ git diff xxxx1 xxxx2 -- filename

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM