1. 程式人生 > >Git(檢視修改記錄)

Git(檢視修改記錄)

我們已經成功地新增並提交了一個readme.txt檔案,現在,是時候繼續工作了,於是,我們繼續修改readme.txt檔案,改成如下內容:

Git is a distributed version control system.
Git is free software.

 

現在,執行git status命令看看結果:

Git is a distributed version control system.
Git is free software.

 

git status命令可以讓我們時刻掌握倉庫當前的狀態,上面的命令輸出告訴我們,readme.txt

被修改過了,但還沒有準備提交的修改。

雖然Git告訴我們readme.txt被修改了,但如果能看看具體修改了什麼內容,自然是很好的。比如你休假兩週從國外回來,第一天上班時,已經記不清上次怎麼修改的readme.txt,所以,需要用git diff這個命令看看:

$ git diff readme.txt 
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system. Git is free software.

 

git diff顧名思義就是檢視difference,顯示的格式正是Unix通用的diff格式,可以從上面的命令輸出看到,我們在第一行添加了一個distributed單詞。

知道了對readme.txt作了什麼修改後,再把它提交到倉庫就放心多了,提交修改和提交新檔案是一樣的兩步,第一步是git add

$ git add readme.txt

 

同樣沒有任何輸出。在執行第二步git commit之前,我們再執行git status

看看當前倉庫的狀態:

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    modified:   readme.txt

 

git status告訴我們,將要被提交的修改包括readme.txt,下一步,就可以放心地提交了:

$ git commit -m "add distributed"
[master e475afc] add distributed
 1 file changed, 1 insertion(+), 1 deletion(-)

 

提交後,我們再用git status命令看看倉庫的當前狀態:

$ git status
On branch master
nothing to commit, working tree clean

 

Git告訴我們當前沒有需要提交的修改,而且,工作目錄是乾淨(working tree clean)的。

 

小結

  • 要隨時掌握工作區的狀態,使用git status命令。

  • 如果git status告訴你有檔案被修改過,用git diff可以檢視修改內容。