git提交時忽略指定文件
我們在項目開發過程中經常用到git來管理自己的項目,使用git版本控制進行多人協作開發具有許多優勢,這里就不一一闡述了,有興趣的同學可以自己去查找資料進行系統的學習。而本篇文章要說的是git使用過程中會遇到的一個問題,就是我們在項目開發過程中經常會修改一些配置文件 ,但是有的時候這些配置文件不需要被提交到遠程倉庫中,只在本地生效即可,此時就需要我們每次提交代碼時把該文件給手動忽略,那么可不可以把該文件設置成永久忽略呢?答案肯定是有的,git的gitignore文件中可以添加文件,添加進去的文件就不會被git檢測並提交到遠程倉庫。
但是在項目進行中的時候添加文件進.gitignore中有時不會生效 ,修改了.gitignore文件並git push 上去之后發現並沒有起作用,這種情況是因為此文件之前被檢測提交過,對於已經track的文件是不起作用的,解決辦法為:把先前的track的文件給清除掉,重新track。此時有兩種解決方案:
1: 使用
git rm -r --cached . 刪除所有緩存區文件
git add . 重新添加所有文件
git commit -m"update .gitignore" 提交此次修改
這種情況是一次修改多個文件 ,但是這種操作有可能會造成自己分支上的代碼和master主分支上的代碼有沖突(代碼一模一樣也會沖突,本人親身經歷) ,不建議使用
2:使用git rm --cached conf/config.php 刪除緩存區的指定文件 ,此時git的status中會顯示該文件已被刪除 ,但是自己本地文件還是沒變 ,把本次修改提交推送 ,此時在分支合並的時候會把該文件的刪除當做修改提交上去 ,需要自己手動把沖突解決 ,不然會刪除master主分支上的該文件 ,到這里就結束了,以后對該文件的操作都不會被git檢測到了。
-------2019年七夕節,今天的天很藍,祝大家七夕快樂