如何将更改从一个远程分支转移到另一个远程分支
How to take changes from one remote branch to other remote branch
我正在做一个项目,我从 release_branch 上剪下了一个分支,我们称我的分支为 branch_A。我的同事还从同一个发布分支中删除了另一个分支,我们称之为 branch_B。我们正在处理相同的文件和部分,因此为了避免任何合并冲突,我想将 branch_B 更改为我的 branch_A。 branch_B 的更改已经合并到 release_branch 中,我们之前从中删除了分支。
谁能告诉我该怎么办?我试过拉,但没有用。我也切换到 release_branch 并进行了拉动并且那里有更改但是一旦我切换到我的 branch_A变化消失了。请帮忙。
变基:
添加您同事的遥控器
git remote add <colleague_nickname> git@;
检查遥控器是否添加
git remote -v
步骤:
- git 获取 colleague_nickname branch_B:branch_B
- git 变基 branch_B
- git log // 验证 branch_B 添加了分支代码
- git push -f origin branch_A
首先,确保您提交了对 branch_A
的所有更改,如果您担心在此过程中丢失您的工作,请在 branch_A
创建一个新分支(例如 branch_A_old
).
由于您最终会合并回 release_branch
,您可以使用以下方法之一:
- 结帐
branch_A
,如果尚未结帐,则使用 git pull --no-rebase remote_name/release_branch
从 remote_name/release_branch
拉入 branch_A
。这将创建一个合并提交,将最新的 release_branch
合并到您的分支中,包括 branch_B
所做的更改。如果有任何冲突,您将必须解决它们并执行提交以完成合并。
- 签出
branch_A
,获取 remote_name/release_branch
,然后将 remote_name/release_branch
合并到 branch_A
。这与方法一基本相同,但分为两步。
- 签出
branch_A
,获取 remote_name/release_branch
,然后使用 remote_name/release_branch
作为上游分支变基 branch_A
。或者,您可以使用 git pull --rebase remote_name/release_branch
将获取和变基合并为一个步骤。
方法 1 和 2 会将合并保留为历史记录的一部分,方法 3 将更新分支中的所有提交,以便分支从 release_branch
的最新提交开始。
方法 1 和 2 通常更容易,虽然这是有争议的,但方法 3 将提供更清晰的历史记录。如果您确实使用了方法 1 或 2,您总是可以稍后执行压缩以清理历史记录。
我正在做一个项目,我从 release_branch 上剪下了一个分支,我们称我的分支为 branch_A。我的同事还从同一个发布分支中删除了另一个分支,我们称之为 branch_B。我们正在处理相同的文件和部分,因此为了避免任何合并冲突,我想将 branch_B 更改为我的 branch_A。 branch_B 的更改已经合并到 release_branch 中,我们之前从中删除了分支。
谁能告诉我该怎么办?我试过拉,但没有用。我也切换到 release_branch 并进行了拉动并且那里有更改但是一旦我切换到我的 branch_A变化消失了。请帮忙。
变基:
添加您同事的遥控器
git remote add <colleague_nickname> git@;
检查遥控器是否添加
git remote -v
步骤:
- git 获取 colleague_nickname branch_B:branch_B
- git 变基 branch_B
- git log // 验证 branch_B 添加了分支代码
- git push -f origin branch_A
首先,确保您提交了对 branch_A
的所有更改,如果您担心在此过程中丢失您的工作,请在 branch_A
创建一个新分支(例如 branch_A_old
).
由于您最终会合并回 release_branch
,您可以使用以下方法之一:
- 结帐
branch_A
,如果尚未结帐,则使用git pull --no-rebase remote_name/release_branch
从remote_name/release_branch
拉入branch_A
。这将创建一个合并提交,将最新的release_branch
合并到您的分支中,包括branch_B
所做的更改。如果有任何冲突,您将必须解决它们并执行提交以完成合并。 - 签出
branch_A
,获取remote_name/release_branch
,然后将remote_name/release_branch
合并到branch_A
。这与方法一基本相同,但分为两步。 - 签出
branch_A
,获取remote_name/release_branch
,然后使用remote_name/release_branch
作为上游分支变基branch_A
。或者,您可以使用git pull --rebase remote_name/release_branch
将获取和变基合并为一个步骤。
方法 1 和 2 会将合并保留为历史记录的一部分,方法 3 将更新分支中的所有提交,以便分支从 release_branch
的最新提交开始。
方法 1 和 2 通常更容易,虽然这是有争议的,但方法 3 将提供更清晰的历史记录。如果您确实使用了方法 1 或 2,您总是可以稍后执行压缩以清理历史记录。