簡體   English   中英

如何將 GitLab 存儲庫分叉到 GitHub?

[英]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.

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