我们正在将我们的存储库从Bitbucket移动到Stash中的本地环境。我可以导入最新版本的存储库,但不能导入先前提交和版本的详细信息。
您能否指导我如何导入包含所有分支,提交和版本详细信息的存储库?
这就是我们导入存储库的方式:
运行以下命令: git init
git add --all
git commit -m "Initial Commit"
git remote add origin http://User@localhost:7990/scm/PROJECT/repo.git
git push -u origin master
由于我是Git的新手,这些可能不是正确的方法。
答案 0 :(得分:3)
你需要:
这意味着:
git clone -o bitbucket https://bitbucket.org/username/reponame
cd reponame
remote=bitbucket ; for brname in `git branch -r | grep $remote | grep -v master | grep -v HEAD | awk '{gsub(/[^\/]+\//,"",$1); print $1}'`; do git branch --set-upstream-to $brname $remote/$brname ; done
git remote add origin http://User@localhost:7990/scm/PROJECT/repo.git
git push --all
git push --tags
几个笔记:
我为Bitbucket repo'bitbucket
'命名了遥控器,而不是默认的'origin
'。
这是因为您最终会使用Stash repo 默认
这就是我为所述Stash回购保留远程名称“origin
”的原因。
此处描述了为每个bitbucket分支创建本地分支:“Track all remote git branches as local branches”。
我不建议在当地的仓库(跟踪所有Bitbucket分支机构)工作 我宁愿在其他地方克隆新填充的Stash仓库,也可以在那里工作。
答案 1 :(得分:2)
要导入项目文件,提交历史记录等,您可以执行以下操作:
git clone --bare git@bitbucket.org:/login/myrepo.git
cd myrepo.git
git push --mirror git@stash.acme.com:/project/myrepo.git
cd ..
rm -rf myrepo.git