Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git筛选器分支--树筛选器不删除文件_Git_Git Filter Branch - Fatal编程技术网

git筛选器分支--树筛选器不删除文件

git筛选器分支--树筛选器不删除文件,git,git-filter-branch,Git,Git Filter Branch,我们的git存储库中有一个错误提交的文件。首先,通过从 结果是6b82d8f18acd 716MiB MSSender/DebContainer.tar.tgz 然后,我使用git filter branch--tree filter“rm-f DebContainer.tar.tgz”HEAD--all命令从中删除所有分支中的这个文件。在处理过程中,它会创建一个gitrewrite文件夹,并以相同的大小创建.git文件夹?我可能做错了什么?谢谢。中记录了重写历史记录后缩小存储库大小的过程 某些

我们的git存储库中有一个错误提交的文件。首先,通过从

结果是
6b82d8f18acd 716MiB MSSender/DebContainer.tar.tgz


然后,我使用git filter branch--tree filter“rm-f DebContainer.tar.tgz”HEAD--all命令从中删除所有分支中的这个文件。在处理过程中,它会创建一个gitrewrite文件夹,并以相同的大小创建.git文件夹?我可能做错了什么?谢谢。

中记录了重写历史记录后缩小存储库大小的过程

某些引用仍然可以访问删除的文件:

  • 引用由
    筛选器分支创建的备份
  • 参考资料
因此,要缩小
.git
文件夹,必须去掉这些引用:

  • 或者从重写的克隆创建新的克隆
  • 通过删除引用和垃圾收集repo内容:

    git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d
    git -c gc.reflogExpire=now gc --prune=all
    
注意
任何修改的引用都需要强制推送到原始存储库。

任何克隆此存储库的人都需要小心地更新其存储库(
git pull--rebase
对于每个本地分支都应该是最好的选择)

重写历史记录后缩小存储库大小的过程记录在中

某些引用仍然可以访问删除的文件:

  • 引用由
    筛选器分支创建的备份
  • 参考资料
因此,要缩小
.git
文件夹,必须去掉这些引用:

  • 或者从重写的克隆创建新的克隆
  • 通过删除引用和垃圾收集repo内容:

    git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d
    git -c gc.reflogExpire=now gc --prune=all
    
注意
任何修改的引用都需要强制推送到原始存储库。

任何克隆此存储库的人都需要小心地更新其存储库(
git pull--rebase
对于每个本地分支都应该是最好的选择)

您说您发现错误文件是
MSSender/DebContainer.tar.tgz
,但您正在尝试删除文件
DebContainer.tar.tgz
…是的,后来我还尝试删除了
MSSender/DebContainer.tar.tgz
,但没有成功。还尝试删除了*.tgzi该文件在历史记录中仍然可见吗?(如果您的问题只是关于
.git
没有减小大小:)文件被推送,然后在本地分支中删除,然后再次推送到开发分支(应用git流)。该文件仅作为对象存在于
.git
文件夹中。那么,我关于减小
.git
文件夹大小的问题您说您发现错误文件是
MSSender/DebContainer.tar.tgz
,但您正在尝试删除文件
DebContainer.tar.tgz
…是的,后来我还尝试删除了
MSSender/DebContainer.tar.tgz
,但没有成功。还尝试删除了*.tgzi该文件在历史记录中仍然可见吗?(如果您的问题只是关于
.git
没有减小大小:)文件被推送,然后在本地分支中删除,然后再次推送到开发分支(应用git流)。该文件仅作为对象存在于
.git
文件夹中。所以,我的问题是如何减小
.git
文件夹的大小