如何在Git中将一个分支复制到另一个分支

如何在Git中将一个分支复制到另一个分支,git,github,Git,Github,我有一个名为a的分支,我在该分支上运行项目。我有一个朋友在分支机构B工作。最近我们在源代码中做了主要的版本更改,因此分支B现在是最新的。我需要将所有源代码和文件/文件夹复制到我的分支,以便分支A与B同步,并且也是最新的。由于我对git命令没有太多的了解,我只想到使用命令来拉分支: git checkout B git pull origin B git checkout B git pull origin B 现在在这两个命令之后,B的所有更改都在我的分支A中。但是当我使用git check

我有一个名为
a
的分支,我在该分支上运行项目。我有一个朋友在分支机构
B
工作。最近我们在源代码中做了主要的版本更改,因此分支
B
现在是最新的。我需要将所有源代码和文件/文件夹复制到我的分支,以便分支
A
B
同步,并且也是最新的。由于我对git命令没有太多的了解,我只想到使用命令来拉分支:

git checkout B
git pull origin B
git checkout B
git pull origin B

现在在这两个命令之后,
B
的所有更改都在我的分支
A
中。但是当我使用
git checkout A
切换回我的分支时,一切都恢复了。我只想把
B
的所有内容复制到
A

使用这些命令:

git checkout B
git pull origin B
git checkout B
git pull origin B
你:

  • 切换到分支机构
    B
  • 已将分支
    B
    的本地状态与其远程状态同步
当您运行
git checkout A
时,您更改了工作副本-
A
B
具有不同的历史记录-因此文件不同

您需要的是将
B
分支到
A
或它。如果您是git初学者,最好的选择是合并:

git checkout A
git merge --no-ff B

--即使合并是快进的,ff也不会添加合并提交。

使用这些to命令:

git checkout B
git pull origin B
git checkout B
git pull origin B
你:

  • 切换到分支机构
    B
  • 已将分支
    B
    的本地状态与其远程状态同步
当您运行
git checkout A
时,您更改了工作副本-
A
B
具有不同的历史记录-因此文件不同

您需要的是将
B
分支到
A
或它。如果您是git初学者,最好的选择是合并:

git checkout A
git merge --no-ff B

--即使合并是快进的,ff也不会添加合并提交。

您必须将分支B合并到分支a。命令如下:

git签出A
git合并B

如果未将分支A推送到服务器,也可以重新设置基础

我建议您学习如何在git上管理分支。这里有两个很好的教程可以帮助你
必须将分支B合并到分支A。命令如下:

git签出A
git合并B

如果未将分支A推送到服务器,也可以重新设置基础

我建议您学习如何在git上管理分支。这里有两个很好的教程可以帮助你

我建议按以下方式做

git checkout B
git pull origin B
git checkout -b B_backup
git push origin B_backup

git checkout A
git pull origin A

git checkout B
git rebase -i A
(解决冲突,检查是否一切正常)

(这将覆盖分支B,确保没有出现任何更改)


我建议用下面的方法做

git checkout B
git pull origin B
git checkout -b B_backup
git push origin B_backup

git checkout A
git pull origin A

git checkout B
git rebase -i A
(解决冲突,检查是否一切正常)

(这将覆盖分支B,确保没有出现任何更改)