簡體   English   中英

從Bitbucket導入到具有歷史記錄的Stash?

[英]Importing from Bitbucket to Stash with history?

我們正在將存儲庫從Bitbucket遷移到Stash的本地環境。 我能夠導入我們存儲庫的最新版本,但不能導入先前提交和版本的詳細信息。

您能否指導我如何導入所有分支,提交和版本詳細信息的存儲庫?

這是我們導入存儲庫的方式:

  1. 使用Tortise Git在本地上創建一個文件夾,將其克隆。
  2. 打開Git Bash,使用CD命令更改路徑轉到此文件夾(目錄)
  3. 運行以下命令: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的新手,所以這些可能不是正確的方法。

你需要:

  • 克隆Bitbucket回購
  • 為所有Bitbucket分支創建本地分支
  • 將所有東西都推到藏匿處。

那意味着:

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存儲庫“ bitbucket ”(而不是默認的“ origin ”)命名為遙控器。
    這是因為默認情況下 ,您最終將使用Stash回購。
    這就是為什么我為Stash repo保留了遠程名稱“ origin ”的原因。

  • 在這里描述為每個bitbucket分支創建一個本地分支:“將所有遠程git分支作為本地分支進行跟蹤 ”。

  • 我不建議在該本地倉庫中工作(該倉庫正在跟蹤所有Bitbucket分支)。
    我寧願將新填充的Stash存儲庫克隆到其他地方,然后從那里工作。

要導入項目文件,提交歷史記錄等,您可以執行以下操作:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM