基于ssh的两步git导入
Bitbucket有一个导入工具,用于从远程位置导入存储库,但它只支持基于ssh的两步git导入,git,import,ssh,bitbucket,Git,Import,Ssh,Bitbucket,Bitbucket有一个导入工具,用于从远程位置导入存储库,但它只支持git://协议。我们现有的存储库位于公司控制的防火墙后面的机器上,我无法更改,而且git://不可用。我需要将存储库从我们公司的机器移动到bitbucket,保留原始存储库中的所有历史记录和详细信息 是否有某种方法可以通过ssh将原始存储库克隆到本地机器上,然后将该存储库推送到bitbucket上新创建的裸初始化存储库来实现这一点?这样我会丢失任何历史记录或数据吗 (我希望得到一个不是特定于bitbucket的答案,但在任何
git://
协议。我们现有的存储库位于公司控制的防火墙后面的机器上,我无法更改,而且git://
不可用。我需要将存储库从我们公司的机器移动到bitbucket,保留原始存储库中的所有历史记录和详细信息
是否有某种方法可以通过ssh将原始存储库克隆到本地机器上,然后将该存储库推送到bitbucket上新创建的裸初始化存储库来实现这一点?这样我会丢失任何历史记录或数据吗
(我希望得到一个不是特定于bitbucket的答案,但在任何情况下都能“移动”git存储库。)据我所知,克隆整个回购协议并推动它起作用。Bitbucket甚至为您提供了以下命令:
cd /path/to/my/repo
git remote add origin ssh://git@bitbucket.org/someuser/somerepo.git
git push -u origin --all # to push changes for the first time
你要确保你有完整的历史。您可以通过首先执行完整的本地裸克隆来实现这一点
git clone --mirror git://LOCAL_URL/somerepo.git
然后加上遥控器,然后按Timothy指出的那样按。不过,您可能希望对远程别名使用除origin之外的其他名称
git remote add bitbucket ssh://git@bitbucket.org/someuser/somerepo.git
git push -u bitbucket --all
这可以用于任何Git托管服务。只需将远程URL替换为您想要的任何内容。是什么让您认为我们只支持git://协议?我们支持智能http协议,因此,例如,您可以只导入
因此,如果您的repo可以从Internet访问并使用HTTP,那么您应该可以使用导入器(它执行正确的克隆并保存历史记录)。如果您想要整个历史记录,请使用Marcus建议的克隆命令。致命:不是git存储库(或任何父目录):.git