代码之家  ›  专栏  ›  技术社区  ›  0x6adb015

Git:我可以沿着存储库存储已知的存储库吗?

  •  0
  • 0x6adb015  · 技术社区  · 14 年前

    我正在设置Git存储库。我知道你可以用 git config --global 但是,有没有一种方法可以让用户克隆这些已知的存储库?

    目标是,一旦由userz克隆了repo,它们就可以通过别名推送到其他repo。

    例如,我将git://x/mobility.git作为x添加到repo中(不知何故),一个用户从git://y克隆它,但随后可以做到 git push X 之前没有做过 git config .

    如何做到这一点?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Chris Johnsen    14 年前

    琥珀是对的。远程条目的配置不会与存储库的其余部分一起克隆(也不是任何其他特定于存储库的配置数据)。

    您可以考虑(在存储库的跟踪内容中)包含一个脚本来设置远程设备。最终用户可以运行此脚本来创建远程。但是,该脚本不能自动运行,因为它会带来安全问题(克隆存储库应该是一个安全的操作;如果Git自动运行刚下载的某些脚本/二进制文件,则该操作将不安全)。

    顺便说一下,它可能更容易使用 Git遥控器 管理遥控器而不是 Git配置 .

    add_or_update() {
        if git config remote."$1".url >/dev/null 2>&1; then
            git remote set-url "$1" "$2"
        else
            git remote add "$1" "$2"
        fi
    }
    add_or_update foo git@server.example.com:foo.git
    add_or_update add bar git://other.example.com/dev/bar.git
    

    如果使用的是非标准fetch refspec,则可能需要使用 Git配置 ,因为 Git遥控器 尚不支持管理远程的refspec。

        2
  •  2
  •   Amber    14 年前

    我不相信Git支持这个。存储库别名对于本地计算机是单独的,而不是克隆过程的一部分。