[英]How to fork a GitLab repository to GitHub?
我想分叉一個 GitLab 存儲庫(不是我自己的,也是公共的),所以我可以對我的分叉進行更改,並在有上游更新時使用 GitHub 桌面使用上游版本更新該分叉。
到目前為止,我所做的是:
(1) imported the GitLab repo on github.com -> import repository, the repository appears on GitHub as my own (which it is not) and not as a fork (which I want it to be)
(2) 在 GitHub 桌面上,添加存儲庫 -> 從本地計算機上的 (1) 克隆 GitHub 存儲庫,對其進行更改,將更改推送到我的 GitHub 存儲庫(好)
(3) 如果上游 GitLab 存儲庫有任何更改,我無法將這些更改合並到我的 GitHub 存儲庫中。 實際上,后者不被認為是一個分支,並且它沒有以任何方式連接到上游 GitLab 存儲庫。 通常我會在 GitHub 桌面上使用“選擇要合並到 master 的分支”,選擇上游分支,然后合並更改。
(4) 我嘗試了“git remote add upstream {gitlab repo}”,但這並沒有改變任何東西。
(5) 也嘗試過,或者,只是直接在我的本地計算機上克隆 GitLab 存儲庫,對其進行更改,但推送我的更改嘗試將它們推送到 GitLab,我不能做也不想做,因為回購不是我的。
不幸的是,使用 Gitlab 和 GitHub 網站無法滿足您的要求。 您可以做的是在本地添加上游遠程並手動合並更改。
您在第 4 步中所做的已經是朝着正確方向邁出的一步。 為了合並上游,您需要做的是獲取和合並。 像這樣:
git remote add upstream {gitlab repository}
現在獲取上游。 這將從 Gitlab 存儲庫下載提交、文件和參考。
git fetch upstream
然后,您可以將上游的分支合並到本地存儲庫中。 請注意,您可能必須解決沖突。
git merge upstream/master
要發布更改,請將它們推送到原點。 在這種情況下,GitHub。 源遠程是默認命名空間,這意味着當您拉master
分支時,例如使用git pull master
, GitHub master
分支被拉。
git push
資料來源:
您幾乎可以使用 GitLab 的遠程更改來更新您的 GitHub 存儲庫。 您需要做的就是:
git fetch <gitlab remote> # or git pull or pull --rebase
然后你推送到你的 GitHub repo
git push <github remote> <branch name>
基本上,您的工作流程pull from GitLab
-> push to GitHub
。 可以在這里找到更詳細的答案。
我不知道 GitLab 和 GitHub 之間的任何現有集成,這會將您的存儲庫分類為 GitHub 上的分叉。
您可以根據需要多次執行此過程。 這對你來說只是手工工作。
如果您正在研究自動化此過程,您可以查看cron jobs ,但這是一個完全不同的主題。
(4) 我嘗試了“git remote add upstream {gitlab repo}”,但這並沒有改變任何東西。
這只是將另一個遙控器添加到您的遙控器列表中。 它本身並沒有做任何事情。 您必須push
送到該遙控器才能開始進行更改。
另外,既然您正在這樣做,請檢查您正在從事的項目是否有許可證。 在這種情況下,這將很有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.