我已经提交了大量我现在想要忽略的文件.我如何告诉git现在忽略未来提交的这些文件?
编辑:我也想从存储库中删除它们.它们是在构建之后创建的文件或用于特定于用户的工具支持.
Jon*_*len 579
编辑.gitignore后匹配被忽略的文件,您可以git ls-files -ci --exclude-standard查看排除列表中包含的文件; 然后,您可以git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached将其从存储库中删除(不从磁盘中删除它们).
编辑:您还可以将其作为别名添加到.gitconfig文件中,以便您可以随时运行它.只需在[alias]部分下添加以下行:
apply-gitignore = !git ls-files -ci --exclude-standard -z | xargs -0 git rm --cached
Run Code Online (Sandbox Code Playgroud)
(该-r标志xargs阻止git rm在空结果上运行并打印出其使用消息,但可能只有GNU findutils支持.其他版本xargs可能有也可能没有类似的选项.)
现在您只需输入git apply-gitignore您的仓库,它就能为您完成工作!
Mat*_*all 438
.gitignore以匹配您要忽略的文件git rm --cached /path/to/file也可以看看:
小智 125
将文件保留在repo中但忽略对它的未来更改:
git update-index --assume-unchanged <file>
Run Code Online (Sandbox Code Playgroud)
并撤消这个:
git update-index --no-assume-unchanged <file>
Run Code Online (Sandbox Code Playgroud)
找出以这种方式设置的文件:
git ls-files -v|grep '^h'
Run Code Online (Sandbox Code Playgroud)
http://blog.pagebakers.nl/2009/01/29/git-ignoring-changes-in-tracked-files/的原始答案的功劳
Thé*_*ali 79
确保您的实际回购是最新版本
.gitignore根据需要编辑git rm -r --cached .git add .然后照常提交
Cri*_*ole 10
老问题,但我们中的一些人git-posh(powershell).这是解决方案:
git ls-files -ci --exclude-standard | foreach { git rm --cached $_ }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
129630 次 |
| 最近记录: |