git跟踪了2个文件。
config/template.json
config/test.json
我修改了它们并希望永远忽略它们。我尝试将它们添加到根.gitignore
/config
config/template.json
config/test.json
由于它不起作用,也适用于config
.gitignore
template.json
test.json
问题:当我git pull
时,它说:
error: Your local changes to the following files would be overwritten by merge:
config/template.json
config/test.json
Please, commit your changes or stash them before you can merge.
Aborting
我希望我的更改保持在本地并发送到远程仓库。发生了什么事?我没有忽略这些文件吗?怎么办?
答案 0 :(得分:3)
gitignore
文件指定Git应忽略的故意未跟踪文件。 Git已经跟踪的文件不受影响。
将文件添加到.gitignore
时,您还必须使用以下命令将其从存储库中删除:
git rm --cached filename
答案 1 :(得分:1)
一旦将文件提交给git,即使您稍后忽略它们,也会对它们进行跟踪。 处理这个问题的实用方法是隐藏变化,然后根据需要推/拉/等弹出变化。
永久的解决方案是从源代码控制中删除所有文件,并将它们保存在.gitignore中,以免再次添加。