我试图忽略对我的存储库(Github)中一个非常小的文件的所有更改。它是一个隐藏文件 ( .first_run),其中包含单个字符 ( 0)。我(显然)用它来检测我的包的第一次运行。
我遇到这些问题:
.gitignore中将不起作用。git rm --cached <file>,因为它会从存储库中删除该文件,这不是我想要的。git update-index --assume-unchanged <file>也不起作用。如果在应用assume-unchanged到文件后,我更改了0较长的字符串(例如:)sdfgdgd,它不会显示为已更改(正确的行为)但是如果我更改了0a 4,它将显示为已修改。我认为第 3 点中描述的问题是由于此答案中的解释造成的:
Assume-unchanged (..) 并不是 Git 的承诺,即 Git 将始终认为这些路径未修改——如果 Git 可以确定标记为 Should-unchanged 的路径已更改,而不会产生额外的 lstat(2) 成本,那么它保留报告路径已被修改的权利(因此,“git commit -a”可以自由提交该更改)。
我可以做些什么来git忽略此文件的未来更改吗?
您应该能够通过以下方式停止跟踪文件的更改:
git update-index --skip-worktree <file>
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式继续跟踪更改:
git update-index --no-skip-worktree <file>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
735 次 |
| 最近记录: |