一 git強制忽略文件
- 對於未加入版本控制的文件,可以創建.gitignore文件來忽略
在工程目錄下創建.gitignore文件,添加想忽略的,這些文件必須是沒有add 到版本庫的,這樣纔會起作用,文件內容如下所示:
.gitignore
/projectName/WebRoot/WEB-INF/classes
/projectName/src/resource/config.xml
- 對於已經加入版本控制的文件,需要命令來強制忽略
如果不小心 config.xml 文件被同事加入版本庫了,可以用如下命令強制忽略這個文件:
git update-index --assume-unchanged config.xml
這樣,即使已經更改了文件,用git status也不會看見文件已經更改。
取消這種設定可以使用如下命令:
git update-index --no-assume-unchanged config.xml
二 git刪除 未追蹤的文件
在利用 git 工作時,工程目錄下經常會出現一些未跟蹤文件,雖然 git 支持通過 .gitingore 文件添加一些忽略文件類型和文件目錄。但有時需要清理一些臨時文件和自動生成的文件,手動刪除顯得太麻煩,這時你可以利用 git clean 命令來幫你完成這項操作。git clean 命令支持以下參數:
git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>...
其中幾個主要參數用法如下:
1
-d
# 刪除未跟蹤目錄以及目錄下的文件,如果目錄下包含其他git倉庫文件,並不會刪除(-dff可以刪除)。
2-f
# 如果 git cofig 下的 clean.requireForce 爲true,那麼clean操作需要-f(–force)來強制執行。
3-i
# 進入交互模式
4-n
# 查看將要被刪除的文件,並不實際刪除文件
示例
- 刪除untracked文件
git clean -f
- 連 untracked 的目錄也一起刪掉
git clean -fd
- 連 gitignore 的untrack 文件/目錄也一起刪掉 (慎用,一般這個是用來刪掉編譯出來的 .o之類的文件用的)
git clean -xfd
- 在用上述 git clean 前,牆裂建議加上 -n 參數來先看看會刪掉哪些文件,防止重要文件被誤刪
git clean -nxfd
git clean -nf
git clean -nfd