首頁>Club>
有時候會遇到需要更換程式碼託管平臺,從github,gitlab或者Bitbucket遷移到其它平臺,想請教一下遷移的技巧
15
回覆列表
  • 1 # 程式設計師那點事

    從github,gitlab或者Bitbucket遷移到其它平臺的過程中可能遇到不少問題,我大概介紹一下基於git託管平臺的遷移方法。

    一、要求保留所有的提交記錄的遷移方法

    1、從舊的託管倉庫中克隆一個裸版本庫。

    git clone –bare git://github.com/yourname/src_project.git

    --bare:克隆一個裸版本庫。

    裸版本庫的名字一般用原來的倉庫名加上.git字尾,它不包含工作區,直接就是版本庫的內容,包含的檔案如下圖所示,和正常版本庫中.git資料夾的內容差不多。

    2、到新的Git伺服器上建立一個新專案,比如華為軟體開發雲配置管理服務。

    新倉庫地址:

    [email protected]:f9c39cc7617a4caf9cb03d6bc8c3ac8a/dst_project.git

    3、將本地裸版本以映象的方式推送到華為軟體開發雲倉庫中。

    git push –[email protected]:f9c39cc7617a4caf9cb03d6bc8c3ac8a/dst_project.git

    因為本地和遠端倉庫是兩個不同的origin,所以如果不選擇映象推送,會產生如下錯誤:

    提示:華為軟體開發雲預設對master分支開啟分支保護,因此推送之前要解除分支保護。

    5、從新的託管伺服器上克隆一份程式碼到本地。

    git [email protected]:f9c39cc7617a4caf9cb03d6bc8c3ac8a/dst_project.git

    二、無需保留提交記錄的遷移方法

    1、從舊的託管倉庫中下載一套程式碼。僅僅是程式碼,沒有git版本管理相關內容。

    2、到新的Git伺服器上建立一個新專案。

    新倉庫地址:

    [email protected]:f9c39cc7617a4caf9cb03d6bc8c3ac8a/dst_project.git

    3、git init #在原生代碼根目錄資料夾下初始化倉庫

    4、git remote add [email protected]:f9c39cc7617a4caf9cb03d6bc8c3ac8a/dst_project.git

    5、git pull origin master –rebase #從新託管倉庫上拉去已存在的內容

    6、git add .

    7、git commit

    8、git push --set-upstream origin master #關聯上游託管倉庫並推送舊程式碼

    華為軟體開發雲地址:http://t.cn/RohXAxI

  • 中秋節和大豐收的關聯?
  • 今年經濟會好嗎?