gpt4 book ai didi

git - 从 Master 分支但包括来自另一个未 merge 分支的更改

转载 作者:行者123 更新时间:2023-12-04 09:50:43 26 4
gpt4 key购买 nike

我有一个尚未 merge 的功能分支。我需要从 Master 创建一个新分支但我希望它也包括我尚未 merge 的功能分支的更改。

我不想从我的功能分支中分支出来,我该怎么做?

master 
~ branch A (not yet merged)
~ branch B (new branch which includes changes from branch A)

我在想我也许应该从 master 分支,然后根据分支 A 重新建立我的新分支?

当我最终在分支 A 之后 merge 分支 B 时,更改应该只显示分支 B 的更改,因为分支 A 已经 merge ​​- 这是正确的吗?

最佳答案

无需特殊准备。你可以

# master is checked out
git checkout -b B
git merge A

或者
# A is checked out
git checkout -b B
git merge master

在这两种情况下,您的新分支 B 最终都“从 master 分支出来”,并从 A 进行了新的更改。在 A merge 回 master 之后, master 之间的差异。和 B将不再显示 A 的内容不同,因为这些提交现在在两个分支的历史记录中。稍后的 B merge 将只包含/添加为该新功能发生的那些提交。

完整示例,从一个空目录开始:
# 1st commit
git init
echo "foo" >> foo
git add -A
git commit -m "foo"

# Branch A
git checkout -b A
echo A >> A
git add -A
git commit -m "A"

# Branch B on top of A
git checkout -b B
echo B >> B
git add -A
git commit -m "B"

# More development on master
git checkout master
echo bar >> bar
git add -A
git commit -m "bar"

# First, B "contains" both A and B changes
git diff B

# But after merging A...
git merge A

# ...Diff B now only shows "remaining" changes
git diff B

关于git - 从 Master 分支但包括来自另一个未 merge 分支的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62017899/

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