初次使用Visual Studio Coder,並使用git做代碼管理工具。由於項目比較大,分爲多個工程,自己負責其中一個工程,但是在gitHub庫建立的時候,只是在分成了子工程。遠程clone的時候,必須要下載所有的工程,其他工程修改的時候,自己本地在提交代碼時,默認其他工程路徑下的代碼也會顯示有修改。爲了不受影響,負責這個工程的人員統一做了如下操作:
一、尚未提交過的文件,在下次提交時希望忽略該文件(即使本地已經修改過)。
(1)針對還未Track的路徑,在本地添加.gitignore文件,在文件中將不需要進行版本更改check的文件或目錄添加進去。
文件《.gitignore》添加內容如下:
.project
.settings/org.eclipse.m2e.core.prefs
web-ui
二、已經提交過的文件,在下次提交時希望忽略該文件,且不刪除git遠程庫中相應文件(即使本地已經修改過)
針對已經Track的文件或目錄,可以直接在Visual Studio Coder打開終端窗口,也可以打開windows的cmd窗口,然後切換到要要屏蔽的目錄路徑下。例如:想屏蔽工程server。Server的路徑爲D:\Develop\Server。切換到該路徑下,然後執行git update-index --assume-unchanged $(git ls-files),回車,成功。具體執行操作如下:
cd D:\Develop\Server
cd D:
git update-index --assume-unchanged $(git ls-files)
其中$(git ls-files)是獲取當前路徑下的所有文件,如果只是想屏蔽單個文件,可以把$(git ls-files)更換爲對應文件的相對路徑。例如:
git update-index --assume-unchanged Server\conf.xml
三、已經提交過的文件,在下次提交時希望忽略該文件,且刪除git遠程庫中相應文件
步驟與上述相同,只是執行命令調整爲
git rm --cached 文件相對路徑
git rm --cached 目錄/*
PS:如果想取消忽略,對應的命令爲 git update-index --no-assume-unchanged $(git ls-files)