Git正在从另一个仓库中提取分支?

xkrw2x1b  于 2022-12-10  发布在  Git
关注(0)|答案(4)|浏览(107)

我有一个本地的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。
我该怎么做?

dwbf0jvd

dwbf0jvd1#

您需要确保git status显示本地存储库中不存在未暂存的更改。
你可以先把你的本地修改隐藏起来,然后再把那个分支拉出来,然后再应用你的隐藏。
如果要在本地资源库中重新创建fork的分支结构,可以执行以下操作:

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

这将创建一个本地分支fork_branch,它与fork中的<branch>具有相同的历史记录,即fork_branch将从您的master分支出来,而fork中的<branch>是这样做的。另外,您的本地分支现在将跟踪fork中的该分支,因此您可以轻松地引入fork中提交的新更改。
我认为您仍然需要事先确保您的工作副本不包含任何更改。
如果不需要跟踪分叉:

git remote remove fork
ej83mcc0

ej83mcc02#

方法而不添加远程。

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

k3bvogb13#

我也能做一些类似的事情用...

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

4xy9mtcn4#

如果您希望从(repository1〉branch1)到(repository2〉branch2)进行提取而不进行跟踪,

  • cd存储库2
  • git获取存储库1分支1:分支2

相关问题