如何将更改从一个远程分支转移到另一个远程分支

How to take changes from one remote branch to other remote branch

我正在做一个项目,我从 release_branch 上剪下了一个分支,我们称我的分支为 branch_A。我的同事还从同一个发布分支中删除了另一个分支,我们称之为 branch_B。我们正在处理相同的文件和部分,因此为了避免任何合并冲突,我想将 branch_B 更改为我的 branch_Abranch_B 的更改已经合并到 release_branch 中,我们之前从中删除了分支。

谁能告诉我该怎么办?我试过拉,但没有用。我也切换到 release_branch 并进行了拉动并且那里有更改但是一旦我切换到我的 branch_A变化消失了。请帮忙。

变基:

添加您同事的遥控器

git remote add <colleague_nickname> git@;

检查遥控器是否添加

git remote -v

步骤:

  1. git 获取 colleague_nickname branch_B:branch_B
  2. git 变基 branch_B
  3. git log // 验证 branch_B 添加了分支代码
  4. git push -f origin branch_A

首先,确保您提交了对 branch_A 的所有更改,如果您担心在此过程中丢失您的工作,请在 branch_A 创建一个新分支(例如 branch_A_old).

由于您最终会合并回 release_branch,您可以使用以下方法之一:

  1. 结帐 branch_A,如果尚未结帐,则使用 git pull --no-rebase remote_name/release_branchremote_name/release_branch 拉入 branch_A。这将创建一个合并提交,将最新的 release_branch 合并到您的分支中,包括 branch_B 所做的更改。如果有任何冲突,您将必须解决它们并执行提交以完成合并。
  2. 签出 branch_A,获取 remote_name/release_branch,然后将 remote_name/release_branch 合并到 branch_A。这与方法一基本相同,但分为两步。
  3. 签出 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,您总是可以稍后执行压缩以清理历史记录。