Git 基本 - 将旧分支合并到主分支

Git basic - merging old branch into master

我正在做一个有旧分支的项目 'new-changes'。

这个分支是几周前创建的,现在需要添加到 master

自从 'new-changes' 分支创建以来,master 中发生了很多变化。

我现在需要将 'new-changes' 中的更改合并到 master 中。

如果在 master 我会

git merge new-changes

它会只添加 'new-changes' 中的内容还是将 master 恢复到创建 'new-changes' 时的状态。

将 'new-changes' 中的更改添加回 master

的最佳方法是什么

如果旧分支只是一个本地分支(也就是说,还没有被推送到服务器),我建议执行 rebase。这将简单地将本地分支的提交应用到 master 分支的顶端,而不会覆盖 master 中现有的任何内容。

如果您在 master 并且执行 git merge my-branch,那么

  1. 在快进合并的情况下(my-branch 领先于 master 一定数量的提交),将添加 my-branch 中不存在于 master 中的提交掌握。 master 中的现有提交将保持不变。
  2. 如果两个分支有冲突的更改,上面的合并命令可能会或可能不会要求您解决冲突添加将添加从 my-branchmaster 的提交并将创建合并提交.

Whats the best way to add the changes in 'new-changes' back into master ?

如果您要在其中进行更改的分支(在本例中为 master)未共享并且只有您要使用它,那么您可以使用变基或合并。两者各有优缺点。

如果您的分支是共享分支,请始终合并,因为这是最安全的选择。当共享分支变基重写历史时,当他们试图解决冲突时,对共享分支进行变基会给他们带来噩梦。