用慣了tfs,剛一接觸git感受很不順手,特別是一些很基本的操做,用起來都怪怪的(多是不習慣命令行的緣由吧)。
下面把查看文件歷史的用例小結一下。git
查看某個文件的修改歷史
在git中查看歷史的命令主要是git log,要查看某個文件的修改歷史能夠這樣:工具
$ git log -- begin.txt
能夠添加不一樣的選項讓輸出的內容或格式有所不一樣。spa
$ 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 命令:code
$ git show xxxxx:filename
也許此時你並非看看就算了,你想要使用這個版本的文件更新工做區中的文件。
直接從 git show 命令的輸出中拷貝內容是個不錯的選擇。
但也能夠經過組合使用不一樣的命令來實現:blog
$ git checkout <commit> --filename
$ git reset filename
此時只有工做區被更新了(你也能夠把他當作是一次回滾操做)。
比較歷史中不一樣的文件版本
咱們常常使用版本控制工具來對比提交歷史中的兩個文件,下面看看用 git 怎麼作:it
$ git diff xxxx1 xxxx2 -- filename