使用git 1.6.4.2时,当我尝试git pull时,会出现以下错误:
error: unable to resolve reference refs/remotes/origin/LT558-optimize-sql: No such file or directory
From git+ssh://remoteserver/~/misk5
! [new branch] LT558-optimize-sql -> origin/LT558-optimize-sql (unable to update local ref)
error: unable to resolve reference refs/remotes/origin/split-css: No such file or directory
! [new branch] split-css -> origin/split-css (unable to update local ref)
我尝试过git远程梅干起源,但没用。
尝试使用以下方法清理本地存储库:
$ git gc --prune=now
$ git remote prune origin
man git gc(1):
git-gc - Cleanup unnecessary files and optimize the local repository
git gc [--aggressive] [--auto] [--quiet] [--prune=<date> | --no-prune]
Runs a number of housekeeping tasks within the current repository, such as compressing file revisions
(to reduce disk space and increase performance) and removing unreachable objects which may have been
created from prior invocations of git add.
Users are encouraged to run this task on a regular basis within each repository to maintain good disk
space utilization and good operating performance.
man git远程(1):
git-remote - manage set of tracked repositories
git remote prune [-n | --dry-run] <name>
Deletes all stale remote-tracking branches under <name>. These stale branches have already been
removed from the remote repository referenced by <name>, but are still locally available in
"remotes/<name>".
由Google Drive desktop.ini文件引起时
用于Windows的Google Drive客户端在每个文件夹中创建desktop.ini文件。如果您的git存储库位于正在与Google Drive同步的目录中,则desktop.ini文件将导致git存储失败,出现以下情况:
cannot lock ref 'refs/remotes/origin/desktop.ini': unable to resolve reference 'refs/remotes/origin/desktop.ini': reference broken
要解决此错误,您可能需要删除git存储库中的desktop.ini文件。
如果安装了WSL,则可以使用以下命令删除desktop.ini文件:
注:⚠️ 此命令将删除<project_directory>中所有.git目录中的所有desktop.ini文件。
find <project_directory> -type d -name .git -print0 | xargs -0 -I {} find {} -type f -name desktop.ini -print0 | xargs -0 -I {} rm -vf {}
如果只想删除特定.git目录中的desktop.ini文件,则可以使用以下命令:
find <.git_directory> -type f -name desktop.ini -print0 | xargs -0 -I {} rm -vf {}