对 git 合并感到困惑,如何将 master 合并到分支但保持分支分开

Confused about git merge, how to merge master into branch but keep branches seperate

我见过 git 合并名称、git 合并主名称和 git 合并。我很困惑每个命令在做什么。

如果我错了请纠正我,在合并时签出哪个分支有关系吗,看起来确实有关系。

为了确保我理解,请告诉我...

如何将分支a和分支b合并为一个?新分支是a还是b,你怎么决定..

如何将分支 a 合并到 master 中,使其成为新的 master? (即默认合并)

我如何将 master 合并到分支 a,所以 master 中的新更改现在出现在分支 a 中,但它们仍然是独立的,这意味着如果我在 master 上提交它不会扩展分支 a?

更新

"Does it matter which branch you're in at the time of merging?" 是的,它确实。

"How can I merge branch a and branch b into one?"

如果您想将分支 b 中的更改合并到分支 a,您应该检出到 (git checkout branch_a),然后执行 git merge branch_b 然后您将进入 branch_a,您在 branch_b 中的更改将合并到 branch_a。 (请注意,您在 branch_a 中的更改不会反映在 branch_b 中)。

"How do I decide?"

例如,如果你想合并你的特性分支(比如,branch_a)更改到你本地的master分支,你应该检出到master分支并通过我的方法合并branch_a上面已经提到了。

"How do I merge my master branch changes onto a new branch?"

假设您必须将 master 分支更改合并到 branch_new,您应该首先使用

将远程分支更改拉到本地 master
git pull <remote_name> master:master

然后使用

结帐到您的new_branch
git checkout new_branch

然后,你需要合并使用

git merge master