簡體   English   中英

將文件添加到gitignore而不提交它們

[英]Add files to gitignore without commiting them

我的本地分支上有一些文件,以后不會更改,但是其他開發人員將更改它們。 目前,我必須將這些文件從每次推送到源中排除。

我想要的是能夠以這樣的方式至少使用gitignore:我將這些文件添加到gitignore,而不必提交這些文件,因為如果我提交它們,則暫存版本將崩潰。

我嘗試將它們添加到gitignore中,但是它要求我提交並推送我無法執行的操作,這還因為其他開發人員必須對這些文件進行更改。

因此,我可以以某種方式不提交gitignore文件,如果它只是承擔避免避免從我的肩膀上提交8-10個其他文件的負擔。 也許還有另一種解決方案,我可以告訴git每次提交時忽略這些文件? 尋求更好的解決方案。

您可以將.git/info/exclude用作.gitignore的本地存儲庫特定版本。 對於.git是文件而不是目錄的子模塊,您需要將.git文件指向的任何地方都關閉,然后從那里使用info/exclude

也可以對git update-index --assume-unchanged使用一些技巧,如果該文件確實存在於遠程倉庫中,但是您希望忽略某些本地編輯 ,則這特別有用。 但是通常最好只提供一個.example文件

您可以將.gitignore添加到.gitignore文件中! 這樣,您的.gitignore文件將不會提交。 如果還將gitignore用於其他內容,請考慮將本地gitignore文件用於目錄

您可以添加用戶特定的.gitignore

我可以制作用戶特定的gitignore文件嗎?

git config --global core.excludesfile $HOME/.gitignore

然后,您可以在homedir中填充.gitignore來忽略文件

編輯:請注意,最新版本的git默認將core.excludesfile$XDG_CONFIG_HOME/git/ignore ,即$HOME/.config/git/ignore ,因此您可能應該使用它而不是將其設置為其他文件。

我嘗試了@exussum的解決方案,但由於文件已經簽入,因此該解決方案對我不起作用。相反,我找到了update-index並在忽略列表中手動添加了文件。

git update-index --assume-unchanged <file_to_ignore>

該解決方案不能抵御磁頭復位,但至少暫時忽略了文件,並降低了檢入不必要文件的風險。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM