git文件管理

clone或者init工程後,工程目錄下都有一個.git的版本庫.他是隱藏的,ls -ah才能查看

stage是暫存區

0.git add 添加修改的文件

git add file  添加文件file到暫存區

git add .     添加全部改動的文件到暫存區

1.git commit 提交文件到本地分支

git commit -m '提交說明'

2.git status 查看工作區的文件狀態是否被改動

3.git diff 查看具體的改動內容

git diff HEAD — readme.txt

查看工作區文件和版本庫最新版本的區別

4.git log 查看從近到遠的提交日誌

git log —pretty=oneline   美化顯示日誌

eg:

$ git log --pretty=oneline 

3628164fb26d48395383f8f31179f24e0882e1e0 append GPL 

ea34578d5496d7dd233c827ed32a8cd576c5ee85 add distributed

cb926e7ea50ad11b8f9e909c05226233bf755030 wrote a readme file 

你看到的一大串類似3628164...882e1e0的是commit id(版本號),和SVN不一樣,Git的commit id不是1,2,3……遞增的數字,而是一個SHA1計算出來的一個非常大的數字,用十六進制表示,而且你看到的commit id和我的肯定不一樣,以你自己的爲準。

5.git reset 回退

git reset --hard HEAD^ 回退到上一個版本

git reset —hard commit id  回退到某一個版本 commit id只要寫前幾個字符,git會自動查找

eg: git reset —hard ea34578 
Git必須知道當前版本是哪個版本,在Git中,用HEAD表示當前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一樣),上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。

6.git reflog 記錄你的每一次命令

Git提供的後悔藥,時光穿梭機
ea34578 HEAD@{0}: reset: moving to HEAD^ 

3628164 HEAD@{1}: commit: append GPL 

ea34578 HEAD@{2}: commit: add distributed 

cb926e7 HEAD@{3}: commit (initial): wrote a readme file 

有了這個我們就能拿到歷史的commit id,來回穿梭

7.git checkout --filename 丟棄工作區的修改

這裏省略 --同樣可以達到丟棄工作區修改的目的但是會帶來問題

-- double dash,是bash的內置命令,用來隔離”樹”和”命令”,加了--就認爲後面的是文件路徑而不是命令選項

git checkout還有一個作用就是切換分支,假設有個該死的文件叫master,你做修改後又想丟棄,你使用了git checkout master(這裏省略了--),這個時候你就悲催了,git執行的是切換分支而不是丟棄修改

所以丟棄文件建議不要省略--這是個好習慣

8.git rm 刪除文件

git rm filename 然後commit到分支,直接在文件管理器刪除不提交是無效的哦!除非add添加進暫存區

如果是誤刪直接checkout就行了

9.推拉代碼push pull

git push 將本地分支代碼推送到遠端分支

git pull 將遠端分支代碼拉倒本地

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