gpt4 book ai didi

Git 分出一个分支

转载 作者:太空狗 更新时间:2023-10-29 13:49:31 24 4
gpt4 key购买 nike

我正在处理 master 并创建分支“A”。

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

在审查这段代码的同时,我还想为这个“小部件”创建测试。

我还不能离开 master,因为分支 'A' 还没有被 merge 。但是我需要一种方法来处理分支“A”而不对其进行更新,同时正在审查代码以推送到掌握。

我认为我需要从分支“A”中创建分支“B”,以便我可以继续使用我已经创建的代码。

问题 1. 如何在 git 中执行此操作?

问题 2。一旦我将分支“A” merge 到 master,即使我还没有完成,分支“B”是否也会包含?

问题 3. 我可以 merge 独立于分支“A”的分支“B”吗?

最佳答案

Question 1. How can I do this in git?

git checkout branch_a
git pull
git checkout -b branch_b

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

Question 2. Once I merge Branch 'A' to master, will that also include Branch 'B' even though i'm not done yet?

不,它们是完全独立的分支,因此只有来自 branch_a 的提交才会存在于 master 中。

Question 3. Can I merge Branch 'B' independent of Branch 'A'?

这里有点双管齐下的方法。如果你想带走 branch_a 提交,那么你可以随时将 branch_b merge 到 master 中,尽管那样做会使目的无效。

鉴于 branch_b 的测试可能依赖于 branch_a,在 A 之前 merge B 似乎很愚蠢。

一旦将 A merge 到 master 中,您可能需要将 branch_b rebase 到新的 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

这将为您提供来自 master 的全新 branch_b,其中现在存在来自 A 的提交,并且当您将 B merge 到 master 时不会出现 merge 冲突。

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

关于Git 分出一个分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34301568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com