忽略 .gitignore 中的行
Ignore line in .gitignore
一个项目(别人维护的)的.gitignore是这样的:
.idea/*
!.idea/watcherTasks.xml
我想添加私人观察者任务,所以我的watcherTasks.xml被改变了。但是我不想犯。
我不想每次 git add
/git commit
时都键入 git reset .idea/watcherTasks.xml
(或指定路径)。所以我尝试使用 .git/info/exclude 来忽略本地文件:
.idea/watcherTasks.xml
然而,.git/info/exclude 行不能覆盖 .gitignore 行(可能是因为 !
具有更高的优先级)。
有什么我可以放入 .git/info/exclude 来取消 .gitignore 中 !.idea/watcherTasks.xml
行的效果吗?我不想修改 .gitignore,因为我不维护项目。
这个问题不需要像git commit $path
这样的方法,因为我不想更改将来要使用的提交命令。
如果我明白你在问什么(总结:忽略忽略规则),答案是否定的。在 .gitignore 文档中:https://git-scm.com/docs/gitignore 它清楚地说明了以下内容:
一个 gitignore 文件指定了 Git 应该忽略的有意未跟踪的文件。 Git 已经跟踪的文件不受影响;
现在,正如您所注意到的,您不想影响整个存储库。所以,我认为你在这方面运气不好。对不起。
如果您的 .idea/watcherTasks.xml
已被跟踪,您可以:
- 本地修改
确保它保持 而不是 added/committed 和
cd /root/folder/of/your/local/repository
git update-index --skip-worktree -- .idea/watcherTasks.xml
这意味着:
- 无需覆盖忽略规则
- 无需修改
.gitignore
您跟踪的文件保持跟踪状态,但 none 的本地修改将被添加或提交。
一个项目(别人维护的)的.gitignore是这样的:
.idea/*
!.idea/watcherTasks.xml
我想添加私人观察者任务,所以我的watcherTasks.xml被改变了。但是我不想犯。
我不想每次 git add
/git commit
时都键入 git reset .idea/watcherTasks.xml
(或指定路径)。所以我尝试使用 .git/info/exclude 来忽略本地文件:
.idea/watcherTasks.xml
然而,.git/info/exclude 行不能覆盖 .gitignore 行(可能是因为 !
具有更高的优先级)。
有什么我可以放入 .git/info/exclude 来取消 .gitignore 中 !.idea/watcherTasks.xml
行的效果吗?我不想修改 .gitignore,因为我不维护项目。
这个问题不需要像git commit $path
这样的方法,因为我不想更改将来要使用的提交命令。
如果我明白你在问什么(总结:忽略忽略规则),答案是否定的。在 .gitignore 文档中:https://git-scm.com/docs/gitignore 它清楚地说明了以下内容:
一个 gitignore 文件指定了 Git 应该忽略的有意未跟踪的文件。 Git 已经跟踪的文件不受影响;
现在,正如您所注意到的,您不想影响整个存储库。所以,我认为你在这方面运气不好。对不起。
如果您的 .idea/watcherTasks.xml
已被跟踪,您可以:
- 本地修改
确保它保持 而不是 added/committed 和
cd /root/folder/of/your/local/repository git update-index --skip-worktree -- .idea/watcherTasks.xml
这意味着:
- 无需覆盖忽略规则
- 无需修改
.gitignore
您跟踪的文件保持跟踪状态,但 none 的本地修改将被添加或提交。