代码之家  ›  专栏  ›  技术社区  ›  deterb

如何将多个url附加到单个git远程服务器?

git
  •  13
  • deterb  · 技术社区  · 15 年前

    我目前正在windows上通过msysgit和Cygwin的组合使用git。

    我有一台笔记本电脑,我经常移动它,所以它的位置不一致。不幸的是,由于在我连接到的所有位置上都没有解析计算机名,因此我无法将计算机名用作url的主机(例如g I t://compname/repo),因此必须使用IP地址。

    git remote set-url --add [--push] <name> <newurl>
    

    作为一种向远程添加多个url的方法,我可以在.git/config文件中看到更新,但是git只尝试使用第一个。

    有没有办法让git尝试使用所有url?我尝试过git fetch和git remote update,但都没有尝试在第一个url之后执行任何操作。

    注意,我还没有在linux上尝试过这个,而且我无法修复计算机名称解析,因为这是在工作。

    4 回复  |  直到 8 年前
        1
  •  2
  •   Ciro Santilli OurBigBook.com    8 年前

    我认为最好的方法是将远程URI设置为指向computername,然后将computername添加到主机文件(位于 %SystemRoot%\system32\drivers\etc\hosts ):

    computername    192.168.100.34
    # computername    192.168.100.68
    

        2
  •  1
  •   Aren    15 年前

    我个人也这么做,我用的是两个遥控器

    来源:我在家回购的地点 foriegn:我的回购协议在其他地方的位置(我的dns重定向到我家)

    然后我就推/拉到合适的遥控器,它有点乱,但它工作。

        3
  •  1
  •   Abhishek Anand    10 年前

    即使您有两个不同的端口号(不仅仅是主机名)从两个不同的位置访问同一台计算机,它也可以工作。

    您可以保留多个版本的 ~/.ssh/config 视情况而定。

    例如,在我的家庭中,我使用主机名作为 my-fancy-server 端口为 22 . 在办公室,主机名是 my-dyndns-name XXX .

    所以我有两个版本 . 在家里,上面写着:

    Host home
        my-fancy-server
        Port 22
        User abhishek
        IdentityFile /home/abhishek/.ssh/id_rsa
    

    (请相应地调整最后两个值。如果不使用钥匙,则不需要最后一个) 在办公室,上面写着

    Host home
        my-dyndns-name
        Port XXX
        User abhishek
        IdentityFile /home/abhishek/.ssh/id_rsa
    

    ~/.ssh/配置 当我搬到一个新的地方。 甚至可以通过编写由网络中的更改触发的脚本来实现自动化。

    我的git配置文件中只有一个遥控器,看起来像

    [remote "origin"]
        url = home:/path/to/repo
        fetch = +refs/heads/*:refs/remotes/origin/*
    

    编辑:我刚发现我不必做这些。我刚刚在路由器上启用了nat环回,现在我可以使用外部名称/端口统一访问我的计算机。然而,在许多情况下,像公司网络,干扰路由器可能不是一个选择

        4
  •  0
  •   hasen    15 年前

    我建议在你的笔记本电脑和你使用的其他电脑之间使用其他遥控器作为同步点。

    e、 吉特胡布。

    如果你想保持隐私,试着不加掩饰或溺爱。