今天在專案裡新增了乙個新的檔案,發現被git忽略了,無法提交。即便刪除專案的.gitignore所有內容也不識別。
後來發現雖然專案的.gitignore沒問題,但是全域性的.gitignore_global裡的規則遮蔽了我新建的檔案。之前在全域性遮蔽檔案裡加了一些規則,時間長了忘了,新檔案命名規則被命中而無法加入git。
[core]
excludesfile = /users/chenpeng/.gitignore_global
或者執行命令改變excludesfile引數:
git config --global core.excludesfile ~/.gitignore_global
此外還可以通過修改專案的.git/info/exclude檔案內容,新增忽略規則,這樣可以不用修改.gitignore檔案。只影響本地專案。
總體優先順序 .git/info/exclude > .gitignore > .gitignore_global
一種特殊情況:
如果先新增檔案到git,再新增ignore規則將不生效,無法忽略該檔案,這是常見的一種場景。這時你會怎麼做?
刪掉這個檔案,提交git,然後新增.gitignore規則,然後再找回檔案。這樣是可以,但是沒必要這麼麻煩。
刪除git的檔案跟蹤快取,然後新增.gitignore規則:
git rm --cached filename
不過如果專案共享了,其他人應該也需要這麼操作,如果沒有提交到遠端庫可以採用這種方法。
參考:這個檔案提供了一些通用忽略規則:
python優先順序佇列 python 優先順序佇列
簡介 優先順序佇列是基於堆的,關於堆的時候可以參考文章堆,優先順序佇列就是入隊時,會分配乙個優先順序,之後出隊時,根據優先順序出列。如,入隊時 4,a 6,r 3 d 則出隊順序 6,r 4,a 3 d 優先順序佇列的python實現 class priorityqueue object def i...
Linux程序優先順序和調整優先順序
linux 是乙個多使用者 多工的作業系統,系統中通常執行著非常多的程序。但是 cpu 在乙個時鐘週期內只能運算一條指令 現在的 cpu 採用了多執行緒 多核心技術,所以在乙個時鐘週期內可以運算多條指令。但是同時運算的指令數也遠遠小於系統中的程序總數 那問題來了 誰應該先運算,誰應該後運算呢?這就需...
RTOS 優先順序翻轉與優先順序繼承
優先順序反轉,是指在使用訊號量時,可能會出現的這樣一種不合理的現象,即 高優先順序任務被低優先順序任務阻塞,導致高優先順序任務遲遲得不到排程。但其他中等優先順序的任務卻能搶到cpu資源。從現象上來看,好像是中優先順序的任務比高優先順序任務具有更高的優先權。具體來說 當高優先順序任務正等待訊號量 此訊...