時光機穿梭

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

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

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

$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#    modified:   readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")

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 ea34578] add distributed
 1 file changed, 1 insertion(+), 1 deletion(-)

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

$ git status
# On branch master
nothing to commit (working directory clean)

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

小結

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

  • 如果git status告訴你有文件被修改過,用git diff可以查看修改內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章