git命令很少,可是用法卻有不少。這篇文章會長期更新,可是固然不會面面俱到,只是記錄一些應用場景。git
使用VCS,比較版本差別是最經常使用的一個功能。
我我的寫代碼經常是這樣的流程:github
git status
看改了哪些文件,有沒有新增的文件。git add
一下。git difftool
仔細排查修改有沒有錯誤。git commit -am
或git commit -as
。這個過程當中,比較命令天然是重度使用的一個。經常須要反覆比較好幾回,纔有自信commit。bash
若是隻是查看當前修改了哪些文件(和HEAD比較),git status
就夠了。
若是是查看之前的commit之間修改了哪些文件,能夠參考下面的命令。重點是--name-only
和--name-status
,其餘參數就不一一說明了。網絡
查看兩次commit之間修改了哪些文件:code
git diff --name-only HEAD~4 HEAD~5
查看兩次commit之間修改了哪些文件, 以及對文件作了什麼類型的修改(M - modify, D - delete, A - add):server
git diff --name-status HEAD~4 HEAD~5
git remote
查看遠程repo的別名。git remote -v
查看遠程repo的別名和地址。rem
我這麼作,是由於某一次要去山上住幾天,沒有網絡,我媽又不讓我帶電腦,可是我又很但願山上那幾天能寫寫代碼,等有網時再push到github。因此有了下面的步驟:文檔
/media/xdisk
,建立目錄mkdir /media/xdisk/repo.git
cd /media/xdisk/repo.git
而後git init --bare
git remote add usb /media/xdisk/repo.git
。這時候git remote
能夠看到origin和usb兩個remote端。git push usb master
/media/ydisk
。git clone /media/ydisk/repo.git
。cd
到repo目錄下寫代碼。git push master
就行了,而後回家。/media/xdisk
。git pull usb
而後git push origin master