Car*_*din 104 git git-filter-branch git-commit git-rewrite-history
我尝试通过运行以下命令从远程仓库中删除文件:
git filter-branch --index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD
Run Code Online (Sandbox Code Playgroud)
但是Git抱怨说
无法创建新备份.以前的备份已存在于refs/original/
Force中使用-f
rm 覆盖备份:无法删除/.git-rewrite/backup-refs:权限被拒绝
rm:无法删除目录/.git-rewrite:目录不为空
这是在我已经删除了Windows上的.git-rewrite目录之后.
我该如何删除该文件?这是一个29Mb的文件,坐在我的仓库,所以我非常需要删除该文件.
我试图删除提交git rebase -i
,但显然因为提交触及了很多不同的文件,Git抱怨冲突,我流产是安全的.
kni*_*ttl 205
您已经执行了过滤器分支操作.在filter-branch之后,Git会保持对旧提交的引用,以防出现问题.
你可以找到那些.git/refs/original/…
.删除该目录及其中的所有文件,或使用该-f
标志强制Git删除旧引用.
git filter-branch -f \
--index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD
Run Code Online (Sandbox Code Playgroud)
k06*_*06a 17
使用此命令删除原始备份:
git update-ref -d refs/original/refs/heads/master
Run Code Online (Sandbox Code Playgroud)
以下是我过去使用git repo过滤分支的要点:https: //gist.github.com/k06a/25a0214c98bc19fd6817
归档时间: |
|
查看次数: |
37565 次 |
最近记录: |