如何连接到另一个磁盘上的本地git repo?

o2rvlv0m  于 2023-04-19  发布在  Git
关注(0)|答案(2)|浏览(111)

我有一个本地源代码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 showgit 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文件夹中的远程引用时,不存在此问题。

svmlkihl

svmlkihl1#

这是远程URL的语法问题:
使用C:\User\...(一个以无协议前缀和<server>:...模式开头的字符串),git将其解释为一个名为C的服务器的ssh url。
一种可能的解决方法是显式地编写一个file://... url,类似于:

file://C:/User/qweta/Documents/scrmd.git/
# or
file:///C/Users/qweta/Documents/scrmd.git/

我手头没有Windows系统,无法确认以下内容:

  • git也可以接受:
/C/User/qweta/Documents/scrmd.git
cedebl8k

cedebl8k2#

但是我想知道为什么当源目录和目标目录在同一个磁盘上,即C:磁盘上时,这不是一个问题?
您的遥控器最后会有一个额外的尾随"

origin  C:\Users\qweta\Documents\scrmd.git"
                                         ^^^

这是因为Git bash在解释\"时转义了尾部的双引号:

git remote add origin "C:\Users\qweta\Documents\scrmd.git\"
                                                         ^^^

虽然这将工作:

git remote add origin "C:\Users\qweta\Documents\scrmd.git\\"
                                                         ^^^

只有当scrmd.git是一个表示裸存储库的文件夹时,才需要这样做,即使这样,您也不需要尾部的\
如前所述,使用文件协议URL方案file://C:/Users/qweta/Documents/scrmd.git/也是一种更有效的解决方案。

相关问题