我有一个devlog
文件夹,在那里我写下我的想法/示例代码,我希望这些代码在git status
中可见。在排除这些文件的情况下,我通常只能使用git add .; git commit
,但显然devlog
中的内容禁止这样做。我喜欢有一个githook,它可以在提交之前取消对整个路径及其内容的描述。
我试过了:
git rm --cached devlog/*
但显然,它希望./devlog
的所有内容都已经暂存(包括.gitignore
忽略的内容(,因此抛出了一个错误:
git rm --cached devlog/*
#> fatal: pathspec 'devlog/check.log' did not match any files
其中devlog/check.log
被忽略并且根本没有被暂存。
这里有一个似乎有效的解决方案。只需在.git/hooks/pre-commit
中添加以下内容:
git reset -- devlog/*
您可以:
- 先强制添加CCD_ 9
- 然后
git rm --cached
所有
由于check.log
被忽略(列在.gitignore
中(,它将在git rm --cached
之后自动被忽略(再次(。
因此:
git add --force devlog/check.log
git rm --cached devlog/*