我正在掌握大师并创建分支'A'.
分支'A'包含HTML/CSS/JS以创建'小部件'.
在审查此代码时,我还想为这个"小部件"创建测试.
我不能在硕士学位上工作,因为分支'A'尚未合并.但是我需要一种方法来处理分支'A'而不对其进行更新,同时正在审查代码以推送到主控.
我想我需要从分支'A'开始分支'B',以便我可以继续处理我已经创建的代码.
问题1.如何在git中执行此操作?
问题2.一旦我将分支'A'合并到主人,即使我还没有完成,它还会包括分支'B'吗?
问题3.我可以独立于分支'A'合并分支'B'吗?
这很简单 - 您可以在 git 中的任何分支上创建一个分支。
如果您在分支 A 上,只需这样做git checkout -b B
,您就会有一个从 A 开始的新分支。它将与 A 分开,并且 A 的更改不会反映在 B 中。
当 A 合并到 master 时,合并不会带来 B 上的提交。
您无法独立管理 B 以掌握 - 分支 B 还包含创建 A 时在 A 上的提交,因此合并 B 也会引入这些提交。可以使用交互式 rebase 或cherry-pick 只从 B(没有 A)引入更改,但这是相当先进的,可能不是您想要做的。
您需要做的另一件事 - 一旦您从 B 分支出来,您可能最终会由于您的代码审查而对 A 进行更改。确保在 A 之上重新设置 B 以保持所有内容最新,否则稍后将测试合并到 master 时会遇到一些麻烦。
问题1.如何在git中执行此操作?
git checkout branch_a
git pull
git checkout -b branch_b
Run Code Online (Sandbox Code Playgroud)
然后,您将有从提交branch_a
在新的branch_b
.
问题2.一旦我将分支'A'合并到主人,即使我还没有完成,它还会包括分支'B'吗?
不,它们是完全独立的分支,所以只有提交branch_a
才会存在于master中.
问题3.我可以独立于分支'A'合并分支'B'吗?
这里有一种双管齐下的方法.如果你想branch_a
和你一起提交,那么你可以随时合并branch_b
到master中,尽管这种目的无效.
鉴于branch_b
测试可能依赖于branch_a
它,在A之前合并B似乎很愚蠢.
一旦你将A合并到master中,你可能需要重新绑定branch_b
到新的master,并删除你接管的所有原始提交branch_a
,因为它们现在都存在于master中:
# Assume A merged into master
git fetch
# Rebase interactively
git rebase -i origin/master
# Exclude (skip or comment out) the commits that were from A, leaving only B
# Rebasing (n/n).....
git push origin branch_b --force
Run Code Online (Sandbox Code Playgroud)
这将为您提供一个全新的branch_b
,其中A的提交现在存在,当您将B合并到主服务器时,您将不会有合并冲突.
只有在你已经推branch_b
到原点时才需要推力.如果你还没有,没问题.
归档时间: |
|
查看次数: |
7254 次 |
最近记录: |