自从我们开始使用git子模块以来,我遇到了一些奇怪的问题。我使用Windows 10,并且使用Tortoise git、Powershell、cmd或Linux命令解释器。每当我尝试拉取一个子模块时,就会出现以下类似的情况:
PS D:\repositories\git\ProjectAlice\ProjectAliceSkills\PublishedSkills\AliceCore> git pull error: cannot lock ref 'refs/tags/1.0.35>=1.0.0-a4': Unable to create 'D:/repositories/git/ProjectAlice/ProjectAliceSkills/.git/modules/PublishedSkills/skill_AliceCore/refs/tags/1.0.35>=1.0.0-a4.lock': Invalid argument From https://github.com/project-alice-assistant/skill_AliceCore ! [new tag] 1.0.35>=1.0.0-a4 -> 1.0.35>=1.0.0-a4 (unable to update local ref) error: cannot lock ref 'refs/tags/1.0.36>=1.0.0-a5': Unable to create 'D:/repositories/git/ProjectAlice/ProjectAliceSkills/.git/modules/PublishedSkills/skill_AliceCore/refs/tags/1.0.36>=1.0.0-a5.lock': Invalid argument ! [new tag] 1.0.36>=1.0.0-a5 -> 1.0.36>=1.0.0-a5 (unable to update local ref) error: cannot lock ref 'refs/tags/1.0.37>=1.0.0-a5': Unable to create 'D:/repositories/git/ProjectAlice/ProjectAliceSkills/.git/modules/PublishedSkills/skill_AliceCore/refs/tags/1.0.37>=1.0.0-a5.lock': Invalid argument ! [new tag] 1.0.37>=1.0.0-a5 -> 1.0.37>=1.0.0-a5 (unable to update local ref) error: cannot lock ref 'refs/tags/1.0.38>=1.0.0-a5': Unable to create 'D:/repositories/git/ProjectAlice/ProjectAliceSkills/.git/modules/PublishedSkills/skill_AliceCore/refs/tags/1.0.38>=1.0.0-a5.lock': Invalid argument ! [new tag] 1.0.38>=1.0.0-a5 -> 1.0.38>=1.0.0-a5 (unable to update local ref) error: cannot lock ref 'refs/tags/1.0.39>=1.0.0-a5': Unable to create 'D:/repositories/git/ProjectAlice/ProjectAliceSkills/.git/modules/PublishedSkills/skill_AliceCore/refs/tags/1.0.39>=1.0.0-a5.lock': Invalid argument ! [new tag] 1.0.39>=1.0.0-a5 -> 1.0.39>=1.0.0-a5 (unable to update local ref) error: cannot lock ref 'refs/tags/1.0.40>=1.0.0-a5': Unable to create 'D:/repositories/git/ProjectAlice/ProjectAliceSkills/.git/modules/PublishedSkills/skill_AliceCore/refs/tags/1.0.40>=1.0.0-a5.lock': Invalid argument ! [new tag] 1.0.40>=1.0.0-a5 -> 1.0.40>=1.0.0-a5 (unable to update local ref) error: cannot lock ref 'refs/tags/1.0.42>=1.0.0-a5': Unable to create 'D:/repositories/git/ProjectAlice/ProjectAliceSkills/.git/modules/PublishedSkills/skill_AliceCore/refs/tags/1.0.42>=1.0.0-a5.lock': Invalid argument ! [new tag] 1.0.42>=1.0.0-a5 -> 1.0.42>=1.0.0-a5 (unable to update local ref) PS D:\repositories\git\ProjectAlice\ProjectAliceSkills\PublishedSkills\AliceCore> git pull error: cannot lock ref 'refs/tags/1.0.35>=1.0.0-a4': Unable to create 'D:/repositories/git/ProjectAlice/ProjectAliceSkills/.git/modules/PublishedSkills/skill_AliceCore/refs/tags/1.0.35>=1.0.0-a4.lock': Invalid argument From https://github.com/project-alice-assistant/skill_AliceCore ! [new tag] 1.0.35>=1.0.0-a4 -> 1.0.35>=1.0.0-a4 (unable to update local ref) error: cannot lock ref 'refs/tags/1.0.36>=1.0.0-a5': Unable to create 'D:/repositories/git/ProjectAlice/ProjectAliceSkills/.git/modules/PublishedSkills/skill_AliceCore/refs/tags/1.0.36>=1.0.0-a5.lock': Invalid argument ! [new tag] 1.0.36>=1.0.0-a5 -> 1.0.36>=1.0.0-a5 (unable to update local ref) error: cannot lock ref 'refs/tags/1.0.37>=1.0.0-a5': Unable to create 'D:/repositories/git/ProjectAlice/ProjectAliceSkills/.git/modules/PublishedSkills/skill_AliceCore/refs/tags/1.0.37>=1.0.0-a5.lock': Invalid argument ! [new tag] 1.0.37>=1.0.0-a5 -> 1.0.37>=1.0.0-a5 (unable to update local ref) error: cannot lock ref 'refs/tags/1.0.38>=1.0.0-a5': Unable to create 'D:/repositories/git/ProjectAlice/ProjectAliceSkills/.git/modules/PublishedSkills/skill_AliceCore/refs/tags/1.0.38>=1.0.0-a5.lock': Invalid argument ! [new tag] 1.0.38>=1.0.0-a5 -> 1.0.38>=1.0.0-a5 (unable to update local ref) error: cannot lock ref 'refs/tags/1.0.39>=1.0.0-a5': Unable to create 'D:/repositories/git/ProjectAlice/ProjectAliceSkills/.git/modules/PublishedSkills/skill_AliceCore/refs/tags/1.0.39>=1.0.0-a5.lock': Invalid argument ! [new tag] 1.0.39>=1.0.0-a5 -> 1.0.39>=1.0.0-a5 (unable to update local ref) error: cannot lock ref 'refs/tags/1.0.40>=1.0.0-a5': Unable to create 'D:/repositories/git/ProjectAlice/ProjectAliceSkills/.git/modules/PublishedSkills/skill_AliceCore/refs/tags/1.0.40>=1.0.0-a5.lock': Invalid argument ! [new tag] 1.0.40>=1.0.0-a5 -> 1.0.40>=1.0.0-a5 (unable to update local ref) error: cannot lock ref 'refs/tags/1.0.42>=1.0.0-a5': Unable to create 'D:/repositories/git/ProjectAlice/ProjectAliceSkills/.git/modules/PublishedSkills/skill_AliceCore/refs/tags/1.0.42>=1.0.0-a5.lock': Invalid argument ! [new tag] 1.0.42>=1.0.0-a5 -> 1.0.42>=1.0.0-a5 (unable to update local ref)
所以,这与锁定引用有关。让人烦恼的是,当我通过Linux命令解释器进行相同的git pull时,它就能正常工作...... 然而,Tortoise git、cmd或Powershell则会出现上述错误。
我今天确实更新了git,我也尝试了所有在这个问题上找到的修剪建议,但没有解决它。好吧,他们说要使用Linux命令解释器!很遗憾,有大量的子模块....
! [new branch] user/con -> origin/user/con (unable to update local ref)
的错误,因为在Windows上不允许使用con
作为文件名。有没有任何标志可以克服这个问题? - Shlomo Gottliebcon
名称,您根本无法创建origin/user/con
名称,因此您将不得不执行git fetch origin user/con:refs/remotes/origin/user-con
或类似的操作,这将很麻烦,但可以解决问题。 - torek