Git Ignore不工作,我不明白

Wyc*_*yck 3 git commit github gitignore

我以为我已经想到了这一点,但是最近的尝试却失败了.

我需要提交一个文件,然后提交后忽略它在任何后续的repo提交.

让我们说该文件是example.txt.

我将更改提交到example.txt并将它们推送到github.

然后我touch .gitignore将example.txt添加到它并保存.
然后我使用git rm --cached example.txt
Then git add .gitignore提交 - >推送它

此步骤的问题是git status显示example.txt已删除,因此commit/push将其从远程仓库中删除.

我已经尝试了几种创建.gitignore和的变体rm --cached,它要么删除了文件,要么不忽略它并提交不需要的更改.

寻找有关忽略已提交文件而不删除它们的确切过程的见解.

man*_*lds 7

您确实意识到git rm --cached example.txt将从索引中删除该文件并将其保留在工作目录中.然后当你提交时,除了.gitignore你添加的文件之外,你还要提交删除文件.因此,当您按下文件时,它将从repo中删除.

此外,您不能忽略对已跟踪文件的更改gitignore.您可以改为尝试git update-index --assume-unchanged example.txt"忽略"该文件.