Eri*_*und 3 migration git gerrit
有一个运行Gerrit的服务器,我没有ssh登录权限。我有一个具有管理员权限的Gerrit帐户。
如何创建新的Gerrit项目,然后将远程Git存储库导入其中?我希望所有信息都可以迁移,例如分支机构和标签。
以下是更多信息:
Gerrit服务器主机名:gerrit.example.com
旧的Git存储库URL:ssh://git@git.example.com/foobar
新的Gerrit项目名称:foobar
具有管理员权限的Gerrit用户帐户:erik
您可以在本地桌面上运行此Shell脚本。在脚本中设置Shell变量以匹配您的情况。
#!/bin/sh
# Replace these variable values according to your situation
gerritproject=foobar
gerritserver=gerrit.example.com
gerritadmin=erik
giturl=ssh://git@git.example.com/foobar
set -e
gitdir=`mktemp -d`
ssh -p 29418 $gerritadmin@$gerritserver gerrit create-project --name $gerritproject
cd $gitdir
git clone --mirror $giturl tmpname
cd tmpname
git remote add gerritremote ssh://$gerritadmin@$gerritserver:29418/$gerritproject
git push gerritremote refs/*:refs/*
Run Code Online (Sandbox Code Playgroud)