gpt4 book ai didi

git - 从 repo 中删除跟踪的忽略文件,但不在本地

转载 作者:太空狗 更新时间:2023-10-29 13:36:32 24 4
gpt4 key购买 nike

我一直遇到这样一种情况:我们团队中的某个人在没有先向他们的项目添加 .gitignore 的情况下推送初始提交。这会导致一堆文件最终出现在我们不想跟踪的存储库中。

git ls-files -i --exclude-from=.gitignore
给我一个被 .gitignore 忽略的文件列表

git rm --cached <file>
让我一次从存储库中删除一个文件,但将它们保留在我的工作目录中(我想要的)

有没有办法可以通过管道从 ls-files 传输文件列表?至 rm --cached (或者其他一些方法可以让我从我的存储库中删除跟踪的、忽略的文件)?

我们的一位团队成员编写了一个使用正则表达式执行此操作的 shell 脚本,但我正在寻找仅命令行解决方案(如果存在的话)。

最佳答案

你可以试试:

git rm --cached $(git ls-files -i --exclude-from=.gitignore)

(遵循与适用于已删除文件的相同想法“git remove files which have been deleted ”,或“git: how to add/commit removals made via vanilla rm? ”,或“Removing multiple files from a Git repo that have already been deleted from disk ”)。

或者:一个简单的管道也可以工作:

git ls-files -i --exclude-from=.gitignore | xargs -0 git rm --cached

关于git - 从 repo 中删除跟踪的忽略文件,但不在本地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11799668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com