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