我本地git存储库中的一个文件出现了问题.当我试图更改分支时,它说:
Unlink of file 'templates/media/container.html' failed. Should I try again? (y/n)
Run Code Online (Sandbox Code Playgroud)
这意味着什么?
使用msysgit 1.7.0.2时git rebase -i
,它会挂起并且没有消息.
进入后ctrl+c,我可以看到
'unlink of file failed, should I try again (y/n)?'
Run Code Online (Sandbox Code Playgroud)
然后我试过git rebase --abort
但得到了同样的错误信息.所以现在它停留在rebase过程的中间.此错误似乎是由只读文件引起的.
有什么方法可以解决这个问题吗?
我有git repo,我不小心将一些库文件提交到git远程仓库.
现在它已经增加了大约6.23 GB的大小.然后我尝试使用以下命令删除库
git filter-branch -f --index-filter "git rm -rf --cached --ignore-unmatch node_modules" -- --all
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now
Run Code Online (Sandbox Code Playgroud)
现在,库已从存储库中删除,并且它未在repo文件夹中列出.但是,本地回购的规模仍然比以前更大
还有一件事是执行上述命令需要花费大量时间.我不确定他们是否正常工作
我甚至尝试将其推送到远程仓库,
git push --all --force
Run Code Online (Sandbox Code Playgroud)
但是没有成功推送,它会一直尝试直到最后一个突然到来,因为远程仓库无法到达或没有响应那种
我也试过重写标签
git filter-branch -f \ --index-filter 'git rm -r --cached --ignore-unmatch node_modules' \ --tag-name-filter 'cat' -- --all
Run Code Online (Sandbox Code Playgroud)
我也尝试了以下方法来使它工作
git config --global pack.windowMemory 0
git config --global pack.packSizeLimit 0
git config --global pack.threads "3"
Run Code Online (Sandbox Code Playgroud)
但无论我做什么,回购的大小仍然是相同的
注意:我试过了
git fsck --full --unreachable
Run Code Online (Sandbox Code Playgroud)
列出了几个无法访问的标记
我在跑步
git gc --prune=now
Run Code Online (Sandbox Code Playgroud)
并得到结果
Counting objects: 100% (619263/619263), done.
Delta compression using up to 8 threads
Compressing objects: 100% (132698/132698), done.
Writing objects: 100% (619263/619263), done.
Total 619263 (delta 316177), reused 608671 (delta 305796)
Unlink of file '.git/objects/pack/pack-15e469b10c92d51ece59ad7c055fc1ac64ff3056.pack' failed. Should I try again? (y/n) y
Unlink of file '.git/objects/pack/pack-15e469b10c92d51ece59ad7c055fc1ac64ff3056.pack' failed. Should I try again? (y/n) n
Unlink of file '.git/objects/pack/pack-4b025e2c952e34cf7b721520909ab216f6223fb3.pack' failed. Should I try again? (y/n)
Run Code Online (Sandbox Code Playgroud)
为什么是这样 ?和
如何避免与要求我输入 y/n 的命令交互?
请看这张照片!
可能是那个傻的git?Git无法取消链接某些文件,但只有git.exe持有此文件的句柄.(权限很好 - 完全控制)请问,这个问题是否有安全的解决方案?我的Git版本是1.9.5-preview20141217