所有用法
Git分為 工作區(qū),暫存區(qū)汪厨,倉庫
git add#把工作區(qū)內(nèi)容放入暫存區(qū)
git commit#把暫存區(qū)內(nèi)容提交到倉庫
git diff#查看工作區(qū)與暫存區(qū)差異
git diff --cashed#查看暫存區(qū)與倉庫差異
git diff HEAD#查看工作區(qū)與倉庫差異
以新建文件流程從頭開始
-
在工作區(qū)新建一個文件(內(nèi)容為一行文字)
vim new.txt
-
查看工作區(qū)與暫存區(qū)區(qū)別==(此時暫存區(qū)沒有東西)==
git diff new.txt
結果為空(沒有區(qū)別)
-
將文件提交到暫存區(qū)
git add new.txt
此時暫存區(qū)內(nèi)容與工作區(qū)一致低斋,還是沒有區(qū)別
-
修改工作區(qū)文件內(nèi)容(添加一行)
vim new.txt
-
可以查看一下目前的所有區(qū)狀態(tài)
git status
顯示為:
? 第一個版本的new未commit
? 第二個修改版本的new未add+commit
(==注意此時若commit則提交的是未修改的第一版==)
各區(qū)情況:
- 工作區(qū)為修改后的兩行內(nèi)容
- 暫存區(qū)為第一次存入的一行內(nèi)容
- 倉庫為空
-
查看工作區(qū)與暫存區(qū)的區(qū)別
git diff new.txt
結果為新添加的一行
-
查看暫存區(qū)與倉庫的區(qū)別
git diff --cached -- new.txt
因為倉庫為空蜂厅,所以結果為第一版的一行
-
查看工作區(qū)與倉庫的區(qū)別
git diff HEAD -- new.txt
倉庫為空,結果為修改后的兩行
==到這里應該基本明白了三種diff的區(qū)別==
可以用9-10練習
-
提交在暫存區(qū)的第一個版本
git commit -m "first version"
此時工作區(qū)為修改后未add的第二版
暫存區(qū)為空
倉庫為第一版
-
繼續(xù)練習下面的命令膊畴,先根據(jù)自己的判斷猜測結果
git status git diff --cached -- new.txt#為空 git diff HEAD -- new.txt#為后添加的一行
-
另外的兩個反向命令
git checkout#撤銷工作區(qū)修改掘猿,把暫存區(qū)最新版本放入工作區(qū) git reset HEAD#把倉庫最新版本放入暫存區(qū),也可以把暫存區(qū)退回到工作區(qū)