我正在尝试清理我的一个回购,因此提交更容易,我决定忽略几个文件夹,将我的仓库大小从~100mb减少到~6mb。
我是git rm --cached -r。和git添加。然后git commit -m“commit”但是当我git push origin master时它压缩与之前相同数量的对象,并说写对象:x%(X / 12954),其中12000+远远高于实际的数量对象?所以我有点困惑。
我希望这个屏幕截图有助于解释它 https://gyazo.com/39e1d6710f30f32e34d73c85a1f37481
感谢您的任何反馈或帮助
答案 0 :(得分:0)
此时删除文件为时已晚,因为它们已存在于回购历史中。您需要从历史记录中删除这些文件。
您可以使用以下命令从git历史记录中删除文件。
但请注意:此命令将重写您的git历史记录。在您完全满意之前,请先复印一份您的回购,而不是原件。
[paths]
myfolder/unwantedfile.txt
可以是myfolder/unwantedfile.txt myfolder/anotherfile.txt anotherfolder/oldfile.txt
之类的单一路径,也可以是使用git rev-list --objects --all | sort -k 2 | cut -f 2 -d\ | uniq
等空格分隔的多条路径。
如果您不确定文件的路径,可以使用以下命令。
id starting_point ending_point
A 2525 6565
B 5656 8989
A 1234 5656
A 4562 6245
B 6496 9999
B 1122 2211
这将列出曾经提交给您的仓库的每个文件。
我希望这会有所帮助。