.git忽略现有文件而不从repo中删除它
我可以告诉Git在提交文件夹时忽略某些跟踪文件中的更改吗?因此,例如,如果我决定忽略'private.conf',如果我执行'git commit',它就不会将其提交,但是如果我显式地告诉它'git commit private.conf',它将正常工作 请也考虑到这一点.git忽略现有文件而不从repo中删除它,git,gitignore,Git,Gitignore,我可以告诉Git在提交文件夹时忽略某些跟踪文件中的更改吗?因此,例如,如果我决定忽略'private.conf',如果我执行'git commit',它就不会将其提交,但是如果我显式地告诉它'git commit private.conf',它将正常工作 请也考虑到这一点 我知道我可以明确地告诉git每次提交哪些文件(例如“git commit source1.c source2.c”),但这对我来说非常方便。相反,我会告诉git提交除“private.conf”之外的所有文件 一些stack
- 我知道我可以明确地告诉git每次提交哪些文件(例如“git commit source1.c source2.c”),但这对我来说非常方便。相反,我会告诉git提交除“private.conf”之外的所有文件
- 一些stackoverflow主题建议将private.conf重命名为private.conf.template,然后运行'git rm--cached private.conf'。出于某些原因,这对我来说也不令人信服。请不要这样建议我。谢谢
- 我知道我还可以执行“git更新索引——假定未更改的private.conf”,这将完全满足我的要求,但只适用于我的本地git存储库。我搜索的是一种为远程分支(以及从该远程分支克隆的所有git存储库)实现这一点的方法
不,这是不可能的。跟踪文件是跟踪文件,不能忽略 顺便说一句,使用
——假设unchanged
是相当危险的,因为您告诉Git他的文件没有更改,Git会这样对待它,这意味着如果您切换分支、重基、合并或类似操作,Git可以随时放弃您的本地更改
如果您希望不跟踪文件更改,则需要将其从存储库中删除,如使用.template
文件或.sample
的建议,如我通常命名的文件。在这种情况下,不应使用--假定未更改
,而应使用--跳过工作树
。请看这里: