天天看點

Git做代碼增量釋出的重要用法 - --diff-filter

你以為有 <code>bash git diff --name-only</code> 就夠了,NO!

對于PHP開發的系統來說,增量釋出,一般隻需部署新增的檔案和有變動的檔案,但很多時候,檔案是删除的或重構成其它檔案名或重構到其它目錄的,而diff的結果中預設會包含所有變動。

同時,對于增量來說,還有新增的目錄。

git diff --diff-filter 可以過濾幾種不同的變化:

Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R), have their type (i.e. regular file, symlink, submodule, …) changed (T), are Unmerged (U), are Unknown (X), or have had their pairing Broken (B).

隻選擇那些添加 (A), 指派 (C), 删除 (D), 修改 (M), 重命名 (R)的檔案, 它們的類型(如 普通檔案, 符号連結, 子子產品, …) 是否改變 (T), 是否未合并 (U), 是未知 (X), 或它們的對崩潰(B). 任何過濾字元的組合(包括none)均可使用。當組合中包括All或none,如果任一檔案比對了其他選項,就選擇了所有路徑。如果沒有檔案比對其他選項,什麼都不做。

Diff現在支援接受小寫字母參數,含義為展示所有非指定類型的變化。

而加上

就可以用于解決伺服器端增量建立目錄的問題。

上一篇: 一件小事
下一篇: 今天