![](/img/trans.png)
[英]How to merge two git repositories without loosing the history for either repositories
[英]How to use Git with two differents repositories with and without ssh authentification?
我有一个问题:
我必须与项目合作:
一切都很好,当我正在使用gitlab的项目时,但是当我试图拉动,推送,获取不在gitlab服务器上的项目时:git bash返回:
输入密钥'/c/Users/my_user/.ssh/id_rsa'的密码:
但我不需要任何ssh身份验证!
当我为gitlab项目运行git remote -v时,git bash返回:
$ git remote -v
当我为其他repo运行git remote -v时(不是在gitlab上),它返回:
$ git remote -v
origin git @ myIp:/repository/yyyy/yyyy-order-parent.git(fetch)
origin git @ myIp:/repository/yyyy/yyyy-order-parent.git(push)
所以我认为这不是一个远程配置问题......
当我试图绕过ssh身份验证的问题来访问不在gitlab上的存储库时,git bash返回:
$ git remote -v
origin git @ ip:/repository/yyyy/yyyy-order-parent.git(fetch)
来源git @ ip:/repository/yyyy/yyyy-order-parent.git(推)
$ git fetch origin
输入密钥'/c/Users/user/.ssh/id_rsa'的密码:
git @ ip的密码:
GitLab:找不到您要找的项目。 致命:无法从远程存储库读取。
请确保您具有正确的访问权限并且存储库存在。
这是非gitlab ~ / .ssh / config文件的内容
主机DEV_XX1
主机名DEV_XX1
用户gitUser
IdentityFile /home/hostUser/.ssh/id_rsa
身份只是的
主持myIp
用户hostUser
ProxyCommand ssh deploy @ myIp -W%h:%p
我该如何解决这个问题? 我认为它可以存在配置解决方案,但是哪一个?
谢谢 !
问题是,在你的第二个项目中,远程url可能被设置为ssh url,比如git @ ip / ....(运行命令:“git config -l”看看,注意“远程” .origin.url =“)
您需要将URL编辑为使用http或git服务器提供的其他协议的URL。 使用以下命令编辑:
git remote set-url origin https://yourusername@servername/username/project.git
总之,有两种方法可以解决这个问题。 首先,使用“remote set-url”命令作为上面的答案,将您的网址更改为http。 其次,使用ssh身份验证。 您需要生成公钥/私钥对,然后将公钥存储到git服务器(如果您的git服务器支持它)。 最后,创建一个带有以下内容的〜/ .ssh / config文件:
Host hostname host_ip
HostName host_ip
IdentityFile ~/.ssh/privatekey
User yourusername
这样,将自动处理身份验证
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.