Git分支:Git分支关闭分支(branch out meaning)

关于Git分支的问题,在branch out meaning中经常遇到, 我工作的主人和创建分支 'A'。

我工作的主人和创建分支 'A'。

分支“A”包含 HTML / CSS / JS 以创建“小部件”。

虽然这段代码正在,但我也想为这个“小部件”创建测试。

我还不能脱离 master,因为分支 'A' 尚未合并。但是我需要一种方法来处理分支 'A',而无需在代码被以推送到 master 时对其进行更新。

我想我需要使分支 'B' 关闭分支 'A',以便我可以继续工作我已经创建的代码。

问题 1.如何在 git 中做到这一点?

问题 2.一旦我将分支 'A' 合并到 master,即使我还没有完成,也将包括分支 'B'?

问题 3.我可以合并分支 'B' 独立于分支 'A' 吗?

18

问题 1.如何在 git 中做到这一点?

git checkout branch_a
git pull
git checkout -b branch_b

然后,您将在新的branch_b中获得来自branch_a的提交。

问题 2.一旦我将分支 'A' 合并到 master,即使我还没有完成,也将包括分支 'B'?

不,它们是完全独立的分支,所以只有来自branch_a的提交将存在于 master 中。

问题 3.我可以合并分支 'B' 独立于分支 'A' 吗?

如果你想把branch_a提交与你,那么你可以合并branch_b到主在任何时候,虽然这种空洞的目的。

鉴于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

这将给你一个新的branch_b从 master,其中来自 A 的提交现在存在,当你将 B 合并到 master 时,你不会有合并冲突。

只有当您已经将branch_b推送到原点时,才需要强制推送。如果没有,没问题。

7

这是微不足道的-你可以在 git 中的任何分支创建一个分支。

如果您在分支 A 上,只需执行git checkout -b B,您将有一个从 A 开始的新分支。它将与 A 分开,并且来自 A 的更改不会反映在 B 中。

当 A 被合并到 master 时,合并不会引入 B 上的提交。

您无法管理 B 以独立掌握-分支 B 还包含创建时 A 上的提交,因此合并 B 也将引入这些提交。可以使用交互式 rebase 或 cherry-pick 从 B(没有 A)引入更改,但这是相当先进的,可能不是您想要做的。

另一件你想做的事情-一旦你分支了 B,你可能会因为你的代码而最终对 A 进行更改。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(439)
Unix和linux哪个好:对于高级用户来说 什么是好的Linux/Unix书籍
上一篇
备用电源自投装置调试:如何使用电源自动触发 Excel自动填充
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(67条)