<font size="3">html
本文內容來自MIT_6.031_sp18: Software Construction課程的Readings部分,採用CC BY-SA 4.0協議。linux
因爲咱們學校(哈工大)大二軟件構造課程的大部分素材取自此,也是推薦的閱讀材料之一,因而打算作一些翻譯工做,本身學習的同時也能幫到一些懶得看英文的朋友。另外,該課程的閱讀資料中有許多練習題,可是沒有標準答案,所給出的答案均爲譯者所寫,有錯誤的地方還請指出。git
<br />web
<br />bash
譯者:李秋豪學習
審校:spa
V1.0 Mon Mar 12 22:44:59 CST 2018.net
<br />翻譯
譯者注:我以爲網上的這篇教程Git教程 - 廖雪峯 更清楚詳細的表達出了版本控制的原因及對應操做,同時也很是簡練,推薦你們看這個。因此這篇閱讀資料只翻譯了一個git show
命令,完整的版本請參考05: Version Control版本控制
<br />
......(省略)
<br />
diffs
?咱們以前將一次提交定義爲對整個工程的一次快照,可是若是你問Git,它返回的結果好像不是這樣:
$ git show 1255f4e commit 1255f4e4a5836501c022deb337fda3f8800b02e4 Author: Max Goldman <maxg@mit.edu> Date: Mon Sep 14 14:58:40 2015 -0400 Change the greeting diff --git a/hello.txt b/hello.txt index c1106ab..3462165 100644 --- a/hello.txt +++ b/hello.txt @@ -1 +1 @@ -Hello, version control! +Hello again, version control!
Git以爲咱們提交的項目中大多數內容是沒變的,因而它只會顯示出改變的內容。實際上,這也和Git的存儲方式相同——它只會存儲改變後的文件,每次提交中沒變的文件都會指向以前提交中的文件:(還記得以前提到過的值不能改變的對象(immutable object)嗎?)
可是咱們能夠要求Git顯示出指定提交中全部的文件:
$ git show 3e62e60: tree 3e62e60: hello.rb hello.scm hello.txt
看,僅僅一個分號就改變了整個輸出。
咱們更能夠指定一個特定提交中的特定文件的內容:
$ git show 3e62e60:hello.scm (display "Hello, version control!")
這也是恢復文件的一種方法:使用 git show
顯示出你上次提交的時候文件的內容。
譯者注:diff
命令的操做和閱讀能夠參考diff詳解,讀懂diff結果 和 diff命令
<br />
......(省略)
<br />
</font>