相关疑难解决方法(0)

git clone --mirror和git clone --bare之间的区别是什么

git clone帮助页面有这样的说法--mirror:

设置远程存储库的镜像.这意味着--bare.

但是没有详细说明--mirror克隆与克隆的不同之处--bare.

git git-clone

447
推荐指数
8
解决办法
27万
查看次数

从git存储库中删除文件(历史记录)

(解决了,看到问题正文的底部)现在
寻找这个,我现在拥有的是:

几乎相同的方法,但它们都将对象留在包文件中......坚持.
我尝试了什么:

git filter-branch --index-filter 'git rm --cached --ignore-unmatch file_name'
rm -Rf .git/refs/original
rm -Rf .git/logs/
git gc
Run Code Online (Sandbox Code Playgroud)

包中还有文件,这就是我所知道的:

git verify-pack -v .git/objects/pack/pack-3f8c0...bb.idx | sort -k 3 -n | tail -3
Run Code Online (Sandbox Code Playgroud)

还有这个:

git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch file_name" HEAD
rm -rf .git/refs/original/ && git reflog expire --all &&  git gc --aggressive --prune
Run Code Online (Sandbox Code Playgroud)

相同...

尝试过的git clone技巧,它删除了一些文件(约3000个)但最大的文件仍然存在...

我在存储库中有一些大的遗留文件,大约200M,我真的不希望它们在那里...而且我不想将存储库重置为0 :(

解决方案:这是摆脱文件的最短路径:

  1. 检查.git/packed-refs - 我的问题是我有refs/remotes/origin/master一个远程存储库的行,删除它,否则git将不会删除这些文件
  2. (可选) git verify-pack -v .git/objects/pack/#{pack-name}.idx | sort …

git version-control git-rewrite-history

76
推荐指数
4
解决办法
3万
查看次数

如何从Git的历史中永久删除提交?

如何从Git的历史中永久删除提交?

该团队的一名开发人员意外地提交了一个200 MB的文件并将其推送到我们的Git服务器.它被删除了几天,但历史就在那里.我们的代码文件只有大约75 MB,我们有4个分支.由于200 MB文件提交,历史记录将保留,项目文件夹(特别是隐藏的.git文件夹)的大小已经膨胀到接近700 MB.如何从git中永久删除两个签到(提交大文件,删除大文件),就好像它从未发生过一样?如果重要的话,我正在使用`TortoiseGit.

git git-rewrite-history

6
推荐指数
2
解决办法
7140
查看次数