问题描述
我正在尝试在通过VPN访问的服务器上克隆存储库(该存储库在办公室并且正在远程工作),但是.git / config上出现“文件存在”错误:
$ git clone //ip.0.0.0/path/to/repo.git
Cloning into 'repo'...
error: could not lock config file ~/repo/.git/config: File exists
fatal: could not set 'core.symlinks' to 'false'
从其他一些问题(和先前的经验)来看,我知道这通常意味着文件正在被另一个进程使用。我不明白的是:这怎么可能?该文件是由克隆操作创建的,因此即使我愿意,也无法对该文件运行其他进程。
但是,有趣的是,如果我改用远程桌面程序访问我的工作计算机(该服务器的服务器映射为网络驱动器),则该操作成功(只要我使用网络驱动器名称而不是IP地址)。
$ git clone N:/patho/to/repo.git
Cloning into 'repo'...
done.
Updating files: 100% (80/80),done.
那么,有人知道这是怎么回事吗?我已经在IP上进行了类似的操作已有几个月了,所以不确定可能会发生什么变化。
系统说明:
- 我通过VPN连接到服务器,并通过Git Bash发送命令。
- 服务器正在运行Windows Home 10.0.18363 N / A Build 18363(它只是一个藏在角落的桌面)。
- 我正在使用
git version 2.27.0.windows.1
有关此故事的更复杂的版本(应该相关),请继续阅读。
我整天都在麻烦这个原始仓库,尝试将其推入时出现missing blob
或failed to read delta-pack base object
错误。谷歌搜索这些错误,似乎问题可能在于某些文件损坏。
因此,我登录到服务器,对我的存储库版本进行了裸克隆(我之前曾尝试推送),删除了指向我版本的远程,然后修改了我的存储库以指向存储库中的新存储库。服务器(以防万一,确保以前的版本安全)。
有了这个,我一切正常,并设法进一步推动新的回购。
但是,当我然后尝试为存储库创建新的克隆时,出现了上面的错误。
尝试目录:
-
{li>由@torek建议,尝试使用
git clone --no-local
和git clone file://ip.0.0.0/...
来避免Git的局部优化,但无济于事,出现同样的错误。
根据{{3}}在Chrome上扔\\ip.0.0.0\path\to\repo.git
(在通过VPN连接的我的家用计算机上)的要求,打开经典的“索引...”页面,其中包含裸仓库的内容(钩子/,信息/,对象/,引用/等)。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)