【问题标题】:How to prevent "git remote add ssh://" from establishing a connection?如何防止“git remote add ssh://”建立连接?
【发布时间】:2011-04-01 13:24:14
【问题描述】:

我为我服务器的用户 git repos 编写了一个备份脚本。它为每个指向备份服务器的存储库(我自己和其他用户)添加了新的远程。

这是一个棘手的操作,因为脚本通过 cron.daily 以 root 身份运行,必须将远程添加为拥有 repo 的用户并以我自己的身份建立 ssh 连接,因为我是唯一允许通过 ssh 连接到不同的备份服务器。

如果 git 在运行这些命令时没有尝试建立 ssh 连接,一切都会正常工作:

  • some_user$ git remote add REMOTENAME ssh://$me@$server/...
  • some_user$ git config remote.REMOTENAME.mirror true
  • some_user$ git remote set-url REMOTENAME ssh://$me@$server/...
  • some_user$ git remote set-url --push REMOTENAME ssh://$me@$server/...

如何防止 git 与这些命令建立连接?

谢谢!

【问题讨论】:

  • 我刚试了一下,当我执行它们时,这些命令都没有尝试建立连接。

标签: git


【解决方案1】:

想到的选项:

  • 自己修改 .git/config 文件,而不是通过 git config 和远程命令来修改
  • 经过修改的 git 编译,在您设置配置时不会尝试连接。
  • 在 .git 目录上使用 rsync 以避免配置远程。

我可能会尝试第一个要点。区分 .git/config 文件的先前状态和运行这四个命令并酌情插入新文件时的状态。

【讨论】:

    【解决方案2】:

    我认为您引用的任何命令都不会导致建立 SSH 连接。 (确实,在添加一个包含 URL 拼写错误的新遥控器后,通常会很烦人,直到尝试获取时才发现。)

    如果您更新您的问题以包括您正在使用的 git 版本,以及您使用每个命令收到的错误消息,人们可能会提供更多帮助。

    【讨论】:

      猜你喜欢
      • 2011-04-05
      • 2017-04-05
      • 1970-01-01
      • 1970-01-01
      • 2021-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多