git update-index --assume-unchanged <filename>回报fatal: Unable to mark file <filename>.
我需要做些什么来解决这个问题?抱怨什么,为什么?
Ped*_*nto 14
难道添加到库中,而不是在.git/info/exclude不上.gitignore?
如果其中任何一个的答案都是肯定的,那么该文件不在存储库中,这就是错误的原因.
尝试git ls-files -o查看该文件是否存在.它不应该.
您正在运行git update-index --assume-unchanged是因为您有文件已签入存储库,但您想忽略本地编辑。
正如 Pedro 指出的那样,给您错误的文件不会被检入存储库。(它出现在git ls-files -o这意味着它没有被跟踪。)
这可能是因为您试图递归地忽略整个目录,如下所示:
find ./folder/ -type f | xargs git update-index --assume-unchanged
Run Code Online (Sandbox Code Playgroud)
但不仅该文件夹中的文件被修改,新文件也被创建。(例如通过构建脚本。)
如果您确定要忽略所有修改过的文件,可以使用以下命令:
git ls-files -m | xargs git update-index --assume-unchanged
Run Code Online (Sandbox Code Playgroud)
但要小心。请注意,弄乱--assume-unchanged可能会很痛苦。
考虑重新工作,以便这些文件根本不需要在 repo 中。然后,您可以将它们添加到您.gitignore的存储库中并使用git rm --cached.
如果您可以将文件保留在 repo 和用户工作目录之外,那可能是理想的。例如,如果文件是作为构建的一部分创建的,您可以创建一个静态库,而不是让每个开发人员在本地运行构建过程。
| 归档时间: |
|
| 查看次数: |
13947 次 |
| 最近记录: |