我的wp-config.php
在git下,現在我想忽略它。Git reset恢復被忽略的文件?
我已經將其添加到.gitignore
,COMMITED新.gitignore
和 然後執行 git update-index --assume-unchanged -- wp-config.php
現在,當我執行git reset --hard
的wp-config.php
文件恢復回來,雖然我希望它忽略它...它是仍然從git中重新獲取。任何想法爲什麼?
我的wp-config.php
在git下,現在我想忽略它。Git reset恢復被忽略的文件?
我已經將其添加到.gitignore
,COMMITED新.gitignore
和 然後執行 git update-index --assume-unchanged -- wp-config.php
現在,當我執行git reset --hard
的wp-config.php
文件恢復回來,雖然我希望它忽略它...它是仍然從git中重新獲取。任何想法爲什麼?
.gitignore
只適用於未跟蹤的文件。只要跟蹤文件(添加到索引).gitignore
並沒有任何影響。如果您希望.gitignore
生效,則需要從存儲庫中刪除該文件。
--assume-unchanged
是一個非常危險的選擇,特別是如果你不知道它是什麼意思。你不告訴Git不要觸摸這個文件,但是你告訴它這個文件沒有改變,不管它在內容中發現了什麼。這意味着,如果您切換分支或者如果您使用重置或類似的事情,Git會假定文件未更改,並且愉快地覆蓋您通常會警告您的文件所做的任何本地更改,並拒絕覆蓋將丟失的更改除此以外。
有沒有安全的方式告訴Git忽略已跟蹤文件的變化,因爲這是跟蹤文件的感覺。模式是將文件簽入爲wp-config.php.sample
或wp-config.php.template
或類似文件,並在.gitignore
中有wp-config.php
。
,如果你能控制的wp-config.php
另一個對消費者接受的方式是使其看起來對於第二個文件wp-config-local.php
或相似,並添加到.gitignore
。如果它不存在,它將被忽略,如果它存在,它將覆蓋登記在wp-config.php
的東西。
因此,除了引用另一個文件(include/require)之外,沒有辦法'取消'已經檢入git的文件?這很奇怪。 – Broshi
正在將文件從存儲庫中刪除。 'git rm file'或'git rm --cached file'只能將其從存儲庫中刪除,但保留工作文件。 (但僅限於你,其他人在更新時會得到刪除,之後需要手動恢復該文件)使git忽略對跟蹤文件的更改是不可能的,不會。這並不奇怪,但通過設計。如果跟蹤文件,您想要跟蹤對其的更改,那就是跟蹤文件的意義。 – Vampire
幸運的是'--assume-unchanged'實際上並沒有讓Git覆蓋文件,在我做的測試中,但我不確定這是否屬於* all * Git版本。你知道的情況*它會*假定文件沒有改變並且實際上覆蓋了它? – torek
你應該刪除一個文件,如果你想讓它不被git觸及。 –
刪除'git rm'中的文件? – Broshi