拉入或推入git:enoint:no这样的文件或目录时出错

拉入或推入git:enoint:no这样的文件或目录时出错,git,github,visual-studio-code,Git,Github,Visual Studio Code,每次我想使用vscode git throw从我的GitHub repo执行拉或推操作时,我都会遇到问题错误消息: Error: ENOENT: no such file or directory, watch 'c:\repos\app-repo\.git\refs\remotes\origin\master' 回购协议在GitHub是私有的。 在c:\repos\app repo\.git\refs\remotes\origin中,我有一个名为HEAD的文件 我该怎么办?为什么会发生这种错

每次我想使用vscode git throw从我的GitHub repo执行拉或推操作时,我都会遇到问题错误消息:

Error: ENOENT: no such file or directory, watch 'c:\repos\app-repo\.git\refs\remotes\origin\master'
回购协议在GitHub是私有的。 在
c:\repos\app repo\.git\refs\remotes\origin
中,我有一个名为HEAD的文件

我该怎么办?为什么会发生这种错误

这里是vscode git输出控件的完整错误:

git pull --tags origin master
> git show :package.json
From https://github.com/user/app-repo
 * branch            master     -> FETCH_HEAD
> git status -z -u
> git symbolic-ref --short HEAD
> git rev-parse master
> git rev-parse --symbolic-full-name master@{u}
> git rev-list --left-right master...refs/remotes/origin/master
> git for-each-ref --format %(refname) %(objectname) --sort -committerdate
> git remote --verbose
Failed to watch ref 'c:\repos\app-repo\.git\refs\remotes\origin\master', is most likely packed.
Error: ENOENT: no such file or directory, watch 'c:\repos\app-repo\.git\refs\remotes\origin\master'
    at FSWatcher.start (internal/fs/watchers.js:164:26)
    at Object.watch (fs.js:1232:11)
    at Object.t.watch (c:\Users\user\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\extensions\git\dist\main.js:1:6950)
    at E.updateTransientWatchers (c:\Users\user\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\extensions\git\dist\main.js:1:97463)
    at u.fire (c:\Users\user\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:50:227)
    at T.updateModelState (c:\Users\user\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\extensions\git\dist\main.js:1:114843)
> git show :package.json
> git fetch
> git show :package.json
> git status -z -u
> git symbolic-ref --short HEAD
> git rev-parse master
> git rev-parse --symbolic-full-name master@{u}
> git rev-list --left-right master...refs/remotes/origin/master
> git for-each-ref --format %(refname) %(objectname) --sort -committerdate
> git remote --verbose
Failed to watch ref 'c:\repos\app-repo\.git\refs\remotes\origin\master', is most likely packed.
Error: ENOENT: no such file or directory, watch 'c:\repos\app-repo\.git\refs\remotes\origin\master'
    at FSWatcher.start (internal/fs/watchers.js:164:26)
    at Object.watch (fs.js:1232:11)
    at Object.t.watch (c:\Users\user\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\extensions\git\dist\main.js:1:6950)
    at E.updateTransientWatchers (c:\Users\user\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\extensions\git\dist\main.js:1:97463)
    at u.fire (c:\Users\user\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:50:227)
    at T.updateModelState (c:\Users\user\AppData\Local\Programs\Microsoft VS Code Insiders\resources\app\extensions\git\dist\main.js:1:114843)
> git show :package.json

我在创建分支文件夹时解决了这个问题,在我的例子中:

mkdir /home/projects/project_example/.git/refs/remotes/origin/branch_name

我在试图通过Mac上的VS代码(带有密码短语的SSH)推送到GitHub的私有回购时遇到了同样的问题。在创建了一个由ZiTAL发布的分支后,它不知何故起了作用。不过这很奇怪。

你在github的回购中有主分支机构吗?是的。我有。它指向master branch。我不使用Visual Studio,所以我可能是在胡说八道,但:这看起来像是VS中的一个bug(或bug ette)。打包参考文献是正常的。如果VS想知道某个ref更改,而该ref不存在,它应该在包含该更改的目录上执行文件系统监视,或者只是不断地重试ref而不抱怨。这个bug是否会妨碍你完成自己的工作,我不知道。在克隆了一个新的repo副本并打开该目录作为一个新的工作区后,我在VS代码输出窗格中看到了它。这也发生在我的VS代码上,这似乎是一个比较常见的问题,因为我在git上看到了一些关于它的线程,它们提出了一些问题,但没有解决方案。你能解释一下这种神奇是如何发生的以及为什么会发生的吗?谢谢,这是个救命稻草@我是个巫师