偶然地,我从代码中删除了.gitignore文件,然后我上载了/ build /文件夹,这导致我的回购大小为1.00 GB,我尝试创建另一个没有此文件夹的分支,然后删除前一个分支并扩孔分支母版,在代码中/ build /文件夹不存在,但是回购大小相同。
答案 0 :(得分:0)
如果此后未进行任何新提交,则可以使用以下命令覆盖最新的提交:
git rm -r --cached build
git commit --amend --no-edit
并使用
覆盖它git push --force-with-lease
如果要从所有提交(也包括较早的提交)中将其删除,请执行
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch build' -f HEAD
之后
git push --force-with-lease
filter-branch
命令将重写本地历史记录,并在存在的所有提交中删除build
目录。
请注意,filter-branch
已过时。
第二个命令将覆盖远程分支。
如果要从特定提交中将其删除,则可以进行交互式变基。
为此,请在第一次更改之前查找提交ID的哈希,然后更改并运行
git rebase -i <hash>
然后,在要删除pick
的所有提交中将edit
更改为build
,保存并关闭编辑器(如果使用ViM,则:wq
)。 / p>
然后,按照前面的描述进行更改并修改提交。修改后,您可以继续使用下一个要更改的密码
git rebase --continue
完成后,您需要执行
git push --force-with-lease
也是。