[英]Transfer git repositories from GitLab to GitHub - can we, how to and pitfalls (if any)?
如果需要,可以將存儲庫從 GitLab 轉移到 GitHub。 如果是這樣,我該怎么做呢?
此外,考慮到我可能決定最終將它們移到 GitHub 上(因為它目前有更多功能,我可能會覺得對我的項目很方便)。
您可以傳輸這些(只需將遙控器添加到 GitHub 存儲庫並推送它們)
git remote add github https://yourLogin@github.com/yourLogin/yourRepoName.git
git push --mirror github
歷史將是相同的。
但是您將失去訪問控制(在 GitLab 中定義的團隊在您的存儲庫中具有特定訪問權限)
如果您在 GitHub 存儲庫的 https URL 上遇到任何問題:
The requested URL returned an error: 403
您需要做的就是輸入您的 GitHub 密碼,但 OP 建議:
然后您可能需要以 ssh 方式推送它。 您可以在此處閱讀有關如何操作的更多信息。
請參閱“推送到 Git 返回錯誤代碼 403 致命:HTTP 請求失敗”。
GitLab也可以設置push mirror到下游repository, push mirroring to GitHub有具體說明。
這可以使用 GitHub 個人訪問令牌,也可以設置為定期推送。
您可以使用此選項在 GitHub 上共享,但將主要開發活動保留在 GitLab 實例中。
如果你想遷移包括 wiki 和所有問題和里程碑的 repo,你可以使用node-gitlab-2-github和GitLab 到 GitHub 遷移
我遇到了相反的問題,由於公司政策的變化,我最終不得不為公司創建我自己的 bash shell 腳本,以將數百個 repos 從 Github 遷移到 Gitlab。
該腳本使用 Gitlab API 遠程創建一個 repo,並將 Github repo 推送到其中。 目前還沒有 README.md 文件,但是 sh 有很好的文檔記錄。
同樣的事情可以按照我想象的相反方式完成。 希望這會有所幫助。
https://github.com/mahmalsami/migrate-github-gitlab/blob/master/migrate.sh
對於任何仍在尋找一種更簡單的方法來將存儲庫從 Gitlab 轉移到 Github 同時保留所有歷史記錄的人。
步驟 1. 登錄 Github,創建一個與您要轉移的 repo 名稱完全相同的私有 repo。
第 2 步。在“從命令推送現有存儲庫”下,復制新存儲庫的鏈接,它將如下所示:
git@github.com:your-name/name-of-repo.git
步驟 3. 打開您的本地項目並查找文件夾.git
通常這將是一個隱藏文件夾。 在.git
文件夾中打開config
。
配置文件將包含以下內容:
[remote "origin"]
url = git@github.com:your-name/name-of-repo.git
fetch = +refs/heads/:refs/remotes/origin/
在[remote "origin"]
下,將 URL 更改為您在 Github 上復制的 URL。
步驟 4. 在終端中打開您的項目文件夾並運行: git push --all
。 這會將您的代碼以及所有提交歷史推送到 Github。
第 5 步。為確保一切按預期工作,進行更改、提交、推送和新提交應出現在新創建的 Github 存儲庫中。
第 6 步。作為最后一步,您現在可以存檔您的 Gitlab 存儲庫或將其設置為只讀。
您可以使用以下命令:
cd existing_repository
git remote rename origin old-origin
git remote add origin <yourRepository.git>
git push -u origin --all
git push -u origin --tags
如果發生錯誤,您可以嘗試使用-f
命令強制推送,輸入如下:
git push -u -f origin --all
git push -u -f origin --tags
這將是 GitLab 推薦的在 GitHub 上導入現有存儲庫的路徑,但是,如果您將<yourRepository.git>
鏈接更改為 GitHub 上的存儲庫鏈接,則可以采用另一種方式,從 GitLab 轉移到 GitHub。 在實踐中,你創造了一個新的起源並強制推動一切。
如果你在 GitLab 上啟用了 MFA,你應該去 Repository Settings/Repository ->Deploy Keys 並創建一個,然后在 GitHub 上導入 repo 時將其用作登錄名
使用默認的 Github 存儲庫導入是可能的,但只需確保在 Gitlab 中未啟用兩因素身份驗證。
謝謝
您可以按照以下 2 個步驟簡單地將 GitLab 項目與包含的歷史記錄和提交一起轉移到 GitHub:
單擊 Github 配置文件右側的設置,然后選擇導入存儲庫。 然后在舊存儲庫 URL 上粘貼您要傳輸的 Gitlab 存儲庫鏈接。 按照隨附的屏幕截圖導入 git 存儲庫的步驟
單擊導入,然后在驗證登錄憑據后等待一分鍾,最后你就完成了。 檢查您的 GitHub 存儲庫以查看更改。
一種簡單的解決方案是在本地存儲庫中再添加一個遠程 URL。
腳步:
git remote add <name> <URL>
git push name
例子:
git remote add github_origin https://github.com/...
git push github_origin
您可以通過以下說明將存儲庫從 gitlab 導入 github 使用用戶界面 (UI):
-> 首先登錄 gitlab
-> 然后在gitlab中復制一個項目的鏈接
-> 然后轉到 github 並登錄
-> 在 github 界面右側按 (+)
-> 然后點擊導入倉庫
-> 然后將鏈接粘貼到字段中的“您的舊存儲庫的克隆 URL”中
-> 然后右鍵repository名
-> 然后選擇私人/公共
-> 然后按“開始導入”按鈕
它將導入您的 gitlab 項目提交的所有文件。
項目完成后會顯示
" 導入完成!您的新存儲庫“鏈接”已准備就緒。
最后導入您的項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.