6—時光穿梭機

        我們已經成功地添加並提交了一個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
warning: LF will be replaced by CRLF in ReadMe.txt.
The file will have its original line endings in your working directory.
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 d4ab026] 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可以查看修改內容。


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