我有一个本地源代码git repo C:\Users\qweta\Documents\scrmd.git\
和一个本地空白repo D:\syb\loc
。
我想在loc
中添加srcmd.git
作为远程仓库。添加似乎可以工作:
D:\syb\loc master ❯ git remote add origin "C:\Users\qweta\Documents\scrmd.git\"
D:\syb\loc master ❯ git remote -v
origin C:\Users\qweta\Documents\scrmd.git" (fetch)
origin C:\Users\qweta\Documents\scrmd.git" (push)
但是git remote show
和git fetch origin
给予了相同的错误:
D:\syb\loc master ❯ git remote show origin
ssh: Could not resolve hostname c: Name or service not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
你能给予我一些建议,如何解决这个问题?
我的系统:Windows 10
我的终端:Windows终端中的命令提示符,用户提示符中的主要内容是通过clink和oh-my-posh扩展添加的,以便与git一起使用。
当我尝试将其添加到C:\SOMELOCATION
中的git文件夹中的远程引用时,不存在此问题。
2条答案
按热度按时间svmlkihl1#
这是远程URL的语法问题:
使用
C:\User\...
(一个以无协议前缀和<server>:...
模式开头的字符串),git
将其解释为一个名为C
的服务器的ssh url。一种可能的解决方法是显式地编写一个
file://...
url,类似于:我手头没有Windows系统,无法确认以下内容:
cedebl8k2#
但是我想知道为什么当源目录和目标目录在同一个磁盘上,即
C:
磁盘上时,这不是一个问题?您的遥控器最后会有一个额外的尾随
"
这是因为Git bash在解释
\"
时转义了尾部的双引号:虽然这将工作:
只有当scrmd.git是一个表示裸存储库的文件夹时,才需要这样做,即使这样,您也不需要尾部的
\
。如前所述,使用文件协议URL方案
file://C:/Users/qweta/Documents/scrmd.git/
也是一种更有效的解决方案。