设置 git 远程起源

我有以下回购协议。

  1. DEV REPO: 在我的开发机器上的一个目录中进行更改
  2. MAINREPO: 在我的开发机器上的裸仓库,我将更改从 dev REPO 推送到它
  3. ProductionREPO: 主机上的存储库,用于从主回购中提取更新

我使用 git remote add origin /Users/me/sites/main_repo设置的主要回购为原产地的发展回购。产品回购位于远程主机上。我是否可以使用相同命令的一个变体来设置 MAIN 回购作为产品回购的原产地?如果“是”,那么我认为语法将包括一个 ip 地址。那看起来像什么?

264741 次浏览

使用 SSH

git remote add origin ssh://login@IP/path/to/repository

使用 HTTP

git remote add origin http://IP/path/to/repository

然而,使用简单的 git pull作为部署过程通常是 坏主意,应该避免使用真正的部署脚本。

您可以在设置远程时包含要跟踪的分支,以使事情按照您可能期望的方式运行:

git remote add --track master origin user@somesite.com:group/project.git   # git
git remote add --track master origin user@172.16.1.100:group/project.git   # git w/IP
git remote add --track master origin http://github.com/group/project.git   # http
git remote add --track master origin http://172.16.1.100/group/project.git # http w/IP
git remote add --track master origin /Volumes/Git/group/project/           # local
git remote add --track master origin G:/group/project/                     # local, Win

这使您不必手动编辑 git 配置或手动指定分支跟踪。

对于任何来到这里的人,像我一样,寻找 改变起源的语法到不同的位置,您可以在这里找到文档: https://help.github.com/articles/changing-a-remote-s-url/。使用 git remote add这样做将导致“致命的: 远程原点已经存在”

简而言之: git remote set-url origin https://github.com/username/repo

(标记的答案是正确的,我只是希望帮助像我一样迷路的人... ... 哈哈)