.gitignore现有文件而不从repo中删除它

时间:2017-04-03 11:11:17

标签: git gitignore

在提交文件夹时,我可以告诉Git忽略某些跟踪文件中的更改吗?因此,举例来说,如果我决定忽略' private.conf',如果我执行git commit,它将不会将其提交为提交。',但它会如果我明确地告诉他们“git commit private.conf'。

,那就正常工作。”

请同时考虑

  • 我知道我可以明确地告诉git每次提交哪些文件(例如" git commit source1.c source2.c"),但这对我来说非常方便。而不是那样,我告诉git提交所有文件但是' private.conf'。
  • 一些stackoverflow主题建议将private.conf重命名为private.conf.template,然后运行' git rm --cached private.conf'。由于某些原因,这对我来说也不方便。请不要建议我这样做。感谢。
  • 我知道我也可以做#git update-index --assume-unchanged private.conf' - 这将完全符合我的要求,但仅适用于我的本地git存储库。我正在搜索的是远程分支(以及从该远程分支克隆的所有git存储库)的一种方法。

1 个答案:

答案 0 :(得分:1)

不,这是不可能的。跟踪文件是跟踪文件,不能忽略。

顺便说一下。使用--assume-unchanged是相当危险的,因为你告诉Git他的文件没有改变,它会像那样对待它,这意味着如果你切换分支,rebase,merge或类似的话,Git可以随时丢弃你的本地更改。 / p>

如果您希望不跟踪文件更改,则需要将其从存储库中删除,例如.template文件或.sample的建议,就像我通常命名此类文件一样。