别名.
我可以使用這個指令檢視repository的曆史 git log --all --graph --decorate --oneline:

這個指令可能比較常用, 但是又比較長.
這時我可以建立一個自己的指令, 作為上面指令的别名.
假設我想使用git hist這個指令:
git說這個指令不存在.
這時就可以使用git config alias.xxx指令去建立一個指令的别名:
其中--global表示這個别名是全局的(使用者範圍内的, 不隻限于這個repository), 然後alias.xxx 的xxx就是後邊雙引号内的指令的别名.
上圖可以看到git hist的執行效果和之前的那一串指令是一樣的.
下面看一下 git config的東西都儲存在哪了, 先執行這個指令: git config --list --show-origin.
可以看到在windows 10下, 是在user的下面:
然後可以打開這個檔案看看:
是以可以在這裡直接修改别名也行.
忽略檔案.
在項目裡添加一個檔案 nouse.txt.
假設這是一個項目配置檔案, 不能删除, 但是由于裡面儲存着本機的安全資訊, 又不能上傳到遠端倉庫.
我可以小心翼翼的不去add這個檔案. 但是git确實有這樣一個指令可以把該檔案排除在外, 以後也不去管他.
git使用一個叫.gitignore的檔案去做這項工作.
可以看一下working directory:
裡面沒有這個檔案. 是以建立這個檔案.
Git忽略的模式是這樣的:
針對具體的檔案: 就寫檔案名即可.
針對某種類型的檔案: *.字尾名
針對檔案夾: 檔案夾名/
那麼我就把nouse.txt添加到該檔案:
然後檢視狀态:
可以看到.gitignore檔案已經起作用了, nouse.txt已經不再被追蹤了.
但是.gitignore檔案還是一個需要被追蹤的檔案, 是以針對這個檔案還是需要走正常的流程的.
下面是另一個例子, 假設我項目中有一些log檔案是以.log結尾的 ,例如 apache.log和iis.log等等..
這些log檔案不應該被git所管理, 是以打開.gitignore檔案, 添加: *.log:
可以看到log檔案都被排除了.
另外一種情況就是檔案夾, 假設log都放在logs檔案夾下了.
\
可以看到這個未被追蹤的logs目錄. 這是因為logs目錄下的檔案是被檢測到了并且還沒有被從git的管轄範圍内排除.
這時編輯.gitignore檔案, 把logs/添加進去:
檢視狀态:
這樣logs檔案夾就被排除了.
推送回origin.
檢視一下剛才這個項目的狀态:
裡面寫着我的分支比origin/master(我這個項目放在了github上面)領先了6個commit.
是以要把這些變化推送到github上.
首先應該git pull origin master:
因為我并沒有在别的地方修改這個倉庫的代碼, 是以遠端倉庫沒有更新.
現在把變化推送到github, git push origin master:
之前也寫過, origin就是github這個倉庫的引用/别名, master是它的分支.
到github就可以看到整個commit 曆史了:
今天提到的指令有: git config alias.xxx, git config --list --show-origin, git pull origin master, git push origin master
還有.gitignore檔案.
下面是我的關于ASP.NET Core Web API相關技術的公衆号--草根專欄: