git配置.gitignore失效如何處理


.gitignore只能忽略沒有被跟蹤的文件(就是沒有被納入版本管理的文件),如果已經被納入版本管理是無法忽略的。

所謂納入版本管理,就是在本地有個緩存區(cached),所有在緩存區的文件都被版本管理了,每次你修改文件后,git會對比緩存區和當前的文件差異,從而決定哪些需要提交更新。

為了重新讓修改的.gitignore生效,首先在本地清除緩存,然后重新將文件納入版本管理,最后提交新.gitignore到遠端。

在項目根目錄下,指令如下:

git rm -r --cached .    //清除緩存區,注意最后有個"."

git add .                    //重新納入版本管理,注意最后有個"."

git commit -m 'update .gitignore'    //提交新的忽略文件。

如果你用的是sourceTree,最后一步更新忽略文件可以在界面操作

針對一個某個文件:

git rm --cached temp.php  //表示將temp.php移除版本管理。

git add temp.php   //表示將temp.php納入版本管理

可以按照以下步驟來:

第1步: 先將要忽略的文件備份。

第2步:已跟蹤文件,先退出版本管理,退出同時等於刪除文件,再提交到git上,即刪除遠程的文件,讓其變成未跟蹤文件

第3步:未跟蹤文件,直接在.gitignore文件打上文件名字,如果要忽略整個文件夾,要在文字后面加上一個/ 。

第4步:將之前備份文件拷貝回來,以后都不會提交了。

 

.gitignore文件忽略規則

# 忽略*.o和*.a文件 

*.[oa]

# 忽略*.b和*.B文件,my.b除外  -》

*.[bB]

!my.b

# 忽略dbg文件和dbg目錄

dbg

# 只忽略dbg目錄,不忽略dbg文件

dbg/

# 只忽略dbg文件,不忽略dbg目錄

dbg

!dbg/

# 只忽略當前目錄下的dbg文件和目錄,子目錄的dbg不在忽略范圍內

/dbg

# 以'#'開始的行,被視為注釋.

 ?:代表任意的一個字符
 *:代表任意數目的字符
  {!ab}:必須不是此類型
  {ab,bb,cx}:代表ab,bb,cx中任一類型即可
   [abc]:代表a,b,c中任一字符即可
   [ ^abc]:代表必須不是a,b,c中任一字符

 

Git忽略提交規則 - .gitignore配置運維總結

https://www.cnblogs.com/kevingrace/p/5690241.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM