问题标签 [git-rm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 如何在不删除所有提交历史记录的情况下调整远程存储库的大小?
stackoverflow 上已经有几个非常相关的问题(下面链接了一些),但我无法解决我的特定问题。
我与同事共享一个存储库,他们推送了巨大的数据文件/图像,将远程存储库的大小增加到 14 GB。后来,这些文件被删除,只是rm filename
将本地存储库的大小调整为合理的大小。但是,当我在线查看时,存储库的大小仍然是 14 GB。
我试图减少存储库大小是这里建议的:
但这只会影响我本地存储库的大小。
这里的答案也无济于事,因为这些文件不是在我自己的计算机上而是在同事的计算机上删除的。
我还没有尝试过,但可能有效的是删除此处描述的所有提交历史记录。但是,我实际上会保留所有提交历史记录,并删除由rm filename
不属于我自己的机器创建的所有垃圾。
是否有任何解决方案(摆脱在其他本地机器上创建的垃圾以减小远程存储库的大小)而不删除所有提交历史记录?
编辑:
在评论中的@torek 链接中,我找到了一个命令来删除与某个文件相关的提交。然后我试图摆脱所有关于图像的提交,例如.png。我使用了以下命令:
但是,然后我收到消息:
警告:参考 'refs/heads/master' 未更改
我将如何正确使用它?
git - 使用 git rm --cached 删除文件,但 git 仍将其推送到我的仓库?
我已经使用 git rm --cached 和 git reset HEAD 删除了我的文件。但是当我尝试将它推送到我的仓库时,它仍然会添加该文件吗?我怎样才能完全删除该文件?
intellij-idea - 无法停止跟踪 JetBrains .idea 文件
我已将.idea文件添加到我的.gitignore文件中,这似乎工作正常。不过,由于我的.idea文件已经被跟踪,早期的帖子建议使用以下代码,以使它们脱离版本控制。
或者
不过,无论哪种情况,我都会收到以下消息:
致命:pathspec '.idea' 不匹配任何文件。
但是,当我在此文件夹中列出我的文件时,.idea就在顶部。
我究竟做错了什么?
git - 当“git filter-branch”失败时从特定提交中删除特定文件
我无法再在我的工作目录中提交,因为 repo 中有一些未包含在 gitignore 中的大文件,因此它们在许多提交/修订中被一遍又一遍地保留。
我已按照以下说明操作:http:
//naleid.com/blog/2012/01/17/finding-and-purging-big-files-from-git-history
但该git filter-branch
部分失败了
无法重写分支:您有未暂存的更改。此外,您的索引包含未提交的更改。
在这些情况下,我如何识别所有提交中最大的文件,无论是现在还是过去,然后从特定提交中删除特定文件?
git - 运行“git rm”后运行“git reset”后取消删除文件
我不小心跑了git rm file
撤消我运行git reset HEAD
的没有恢复文件的操作,然后我运行git reset HEAD~1
了似乎也没有恢复文件的操作(这应该很容易......)
现在我看到了:
我想做的是恢复
我怎样才能做到这一点?
git - 带有通配符的“git rm -r”
我正在尝试git rm
用作过滤器分支的一部分。我想删除目录*/*/dir1
,但什么也没发生。我正在使用的命令是:
命令
显示很多匹配项。
我怎样才能删除这些目录?
更新:我正在尝试从历史记录中删除这些文件夹。
解决方案:
结合@j6t 和@Sam Gleske 的答案,这是我的解决方案:
git - How to safely remove files from master which have already been removed from a branch?
Refer to the following diagram:
During the merge from B
to G
I have inadvertently added files to master
which I deleted from my-branch
at D
using git rm
. Unfortunately, I have work at C
which is not yet ready to be merged with master. Can I safely git rm
the files in master
and still merge my-branch
(where the files have already been deleted) into master
later?
In other words, by merging B
with G
, I added files to master at commit G
which I do not want. These files are git rm
'd from my-branch
at D
, but I do not want to merge D
into master because C
contains changes that are not ready yet. What is the best way to proceed?
git - Git 从所有提交中删除文件
我犯了一个“小”错误,并在我的本地存储库中添加了一个“小”(> 100MB)文件。
两次提交后,我试图推送到 github 中限制为 100MB 的远程仓库。
我可以使用 将文件从我当前的提交中删除git rm --cached
,但它仍然在以前的提交中。
如何从所有提交中删除文件?我已经尝试过有关 git filter-branch 的答案,但不适用于我的。