簡體   English   中英

Git 從另一個存儲庫中拉出一個分支?

[英]Git pulling a branch from another repository?

我有一個本地 git 存儲庫,它是 github 上存儲庫的克隆。有人分叉了存儲庫並在新存儲庫的新分支中進行了更改。 我想將這個新分支移動到我的存儲庫中(在與主分支合並之前首先在本地進行處理)。

我嘗試創建一個新分支,然后從分叉的存儲庫中提取,但它會抱怨,因為新分支是主分支的副本以及本地文件更改,所以它說

error: Your local changes to the following files would be overwritten by merge

那么如何將其他存儲庫中的分支拉入本地存儲庫中的新分支呢?

我希望這是有道理的。 如果沒有,這是我的存儲庫: https://github.com/MatthewLM/cbitcoin

如您所見,有人創建了一個新的存儲庫,分支為“linuxBuild”: https://github.com/austonst/cbitcoin/tree/linuxBuild

我想在我的 MatthewLM/cbitcoin 本地存儲庫中創建該分支。

我怎樣才能做到這一點?

您需要確保git status顯示本地存儲庫中不存在未分級的更改。
您可以通過首先存儲本地更改而不是拉動該分支來完成此操作。 之后你可以申請你的藏匿處。


如果要在本地存儲庫中重新創建fork的分支結構,可以執行以下操作:

git remote add fork <url of fork>
git fetch fork
git checkout -b fork_branch fork/<branch>

這將創建本地分支fork_branch具有與fork中的<branch>相同的歷史記錄,即fork_branch將從master中分支出來,其中<branch>在fork中執行。 此外,您的本地分支現在將在fork中跟蹤該分支,因此您可以輕松地引入fork中提交的新更改。

我認為您仍需要事先確定您的工作副本不包含任何更改。

方法無需添加遠程。

git checkout --orphan fork_branch
git reset --hard
git pull <url of fork> <branch>

我能夠使用...做類似的事情

git switch -c new_branch
git pull https://github.com/<user>/<forked-repo>.git <branch>

如果你想獲取而不跟蹤從 (repository1 > branch1) 到 (repository2 > branch2),

  • 光盤庫 2
  • git 獲取 repository1 branch1:branch2

暫無
暫無

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

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