我把以前由 Git 跟踪的文件放在.gitignore 列表中. 但是,文件在编辑后仍然显示在 git 状态。
当前回答
对于我来说,文件在历史上仍然可用,我首先需要清除添加删除文件的命令: https://gist.github.com/patik/b8a9dc5cd356f9f6f980
下面的例子结合了最后3个命令
git reset --soft HEAD~3
git commit -m "New message for the combined commit"
推破的承诺 如果承诺已推到远程:
git push origin +name-of-branch
其他回答
git ls-files -c --ignored --exclude-standard -z | xargs -0 git rm --cached
git commit -am "Remove ignored files"
这取消了被忽略的文件列表,从指数中删除它们,并执行了变更。
如果您创建了 gitignore 文件,使用命令如 echo node_modules >>.gitignore,它不会工作。
窗口终端存储文件在 UCS-2 LE BOM 和 git 似乎不接受它。
您可以通过在笔记本中打开并使用 UTF-8 编码重新存储。
此分類上一篇
它现在工作。
我认为他们需要纠正这一点,因为做echo“filetoignore” >>.gitignore实际上看起来非常有用
BFG 专门用于从 Git 存储库中删除不需要的数据,如大文件或密码,因此它有一个简单的旗帜,将删除任何大历史文件(不属于您的当前文件):‘--strip-blobs-bigger-than’
java -jar bfg.jar --strip-blobs-bigger-than 100M
如果你想按名称指定文件,你也可以这样做:
java -jar bfg.jar --delete-files *.mp4
BFG 比 git 过滤器行业快 10 至 1000 倍,通常更容易使用 - 查看完整使用指示和示例,以获取更多详细信息。
来源:库存大小减少
我喜欢JonBrave的答案,但我有足够的工作目录,承诺 - 一个让我有点害怕,所以这里是我做的事情:
git config --global alias.exclude-ignored '!git ls-files -z --ignored --exclude-standard | xargs -0 git rm -r --cached && git ls-files -z --ignored --exclude-standard | xargs -0 git stage && git stage .gitignore && git commit -m "new gitignore and remove ignored files from index"'
打破它:
git ls-files -z --ignored --exclude-standard | xargs -0 git rm -r --cached
git ls-files -z --ignored --exclude-standard | xargs -0 git stage
git stage .gitignore
git commit -m "new gitignore and remove ignored files from index"
删除被忽略的文件从索引阶段.gitignore 和您刚刚删除的文件承诺
复制/复制(单线)的答案是:
git rm --cached -r .; git add .; git status; git commit -m "Ignore unwanted files"
这个命令不会改变.gitignore 文件的内容. 它只会忽略已承诺到 Git 存储库的文件,但现在我们已经添加到.gitignore。
命令 git 状态; 只需审查更改,可以下载。
最终,它将立即通过“不要错过不需要的文件”的消息进行更改。
如果您不希望承诺更改,请放下命令的最后一部分(git commit -m “不要错过不需要的文件”)
推荐文章
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖
- Git rebase—即使所有合并冲突都已解决,仍然会继续报错
- 在Git中,我如何知道我的当前版本是什么?
- 跟踪所有远程git分支作为本地分支
- 自定义SSH端口上的Git
- git如何显示不存在于.gitignore中的未跟踪文件
- Git错误:遇到7个文件应该是指针,但不是
- GitHub克隆与OAuth访问令牌
- 移动(或“撤销”)最后一个git提交到非暂存区域