一:使用.gitignore忽略某些文件git
文件.gitignore的格式規範以下:app
通常時候咱們總會有一些文件無需歸入Git的管理,也不但願他們總出如今未跟蹤文件列表。一般都是些自主生成的文件,像是日誌或者spa
編譯過程當中建立的等等。咱們能夠建立一個.gitignore的文件,列出要忽略的文件模式,來看一個例子:日誌
這裏忽略了工做目錄下的.test文件,以.o或.a結尾的文件。orm
若是不使用.gitignore,能夠看到,顯示.test文件未跟蹤,下面添加.gitignore文件源碼
能夠看到工做目錄很乾淨的。it
若是使用git下載Linux內核源碼,你能夠在工做目錄下看到.gitignore文件,cat .gitignore,截了一段:編譯
二:git diff 生成patchform
git-diff列出本身本地的tree中已修改,但卻未commit的改動,這也是產生patch的方式。注意,使用git-diff產生的patch都應該在patch(1)時test
指定-p1,或者直接使用git-apply打補丁。
選項:
--clour diff 語法高亮
--ignore-space-at-eol 忽略行尾的whitespace
--ignore-space-change 忽略行尾的whitespace,而且認爲全部的whitespace都是同樣的
--ignore-all-space 比較兩行的時候,徹底忽略whitespace。這樣,即便是一行有不少whitespaces,另外一行文字同樣可是沒有whitespace,
git也認爲這兩行內容一致。
這裏介紹一下patch文件格式:補丁頭
補丁頭是分別由---/+++開頭的兩行,用來表示要打補丁的文件。---開頭表示舊文件,+++開頭表示新文件。
一個補丁文件中的多個補丁
一個補丁文件中可能包含以---/+++開頭的不少節,每一節用來打一個補丁。因此在一個補丁文件中能夠有好多個補丁。
塊
塊是補丁中要修改的地方。它一般由一部分不用修改的東西開始和結束。他們只是用來表示要修改的位置。他們一般以@@開始,結束於
另外一個塊的開始或者一個新的補丁頭。
塊的縮進
塊會縮進一列,而這一列是用來表示這一行是要增長仍是要刪除的。
塊的第一列
+號表示這一行是要加上的
-號表示這一行是要刪除的
沒有加號也沒有減號表示這裏只是引用的而不須要修改
三:git apply打補丁
git-apply至關於patch(1)命令,不過git-apply專門用來apply那些用git-diff生成的補丁
選項:
--check 不真正打補丁,而只是檢查補丁是否能完美的打上
-v verbose模式
-R reverse模式,也就是拉出這個補丁來
四:git log 查看提交歷史記錄
運行git log:
git會按提交時間列出全部的更新,最近的更新排在最上邊。每次更新都會有一個SHA-1校驗,做者的名字和電子郵件地址,提交時間,最
後一個段落顯示提交說明。
選項說明:
-p 按補丁格式顯示每一個更新之間的差別
--stat 顯示每次更新的文件修改統計信息
--shortstat 只顯示--stat中最後的行數修改添加移除統計
--pretty 使用其餘格式顯示歷史提交信息。可用的選項包括online,short,full,fuller和format。
下邊是加-p選項,按補丁格式查看每一個更新之間的差別
$git log -p