gpt4 book ai didi

git - 如何基于同一父级将 git commit 分成两部分?

转载 作者:太空狗 更新时间:2023-10-29 14:02:00 25 4
gpt4 key购买 nike

我在分支 foo 上,父 A 是:

---A---foo

我想把从 A 到 foo 的变化分成两个分支,两个基于 A。我相信我可以像这样完成一半的工作:

git checkout -b halfFoo
git reset HEAD~
# Only choose half the stuff.
git add -i
git commit

这给了我:

---A---foo
\
\-halfFoo

我知道如何做到这一点(git checkout -b otherHalfFoo; git commit -a):

---A---foo
\
\-halfFoo
\
\-otherHalfFoo

但我想要的是得到这个:

---A---foo
|\
| \-halfFoo
\
\-otherHalfFoo'

我怎样才能做到这一点而不必通过“git add -i”(和再次选择为 halfFoo 选择的负数)?

最佳答案

首先,回到您之前的提交,留下之后的更改。然后分支并应用一些更改。再次从原始分支分支出来,并应用其余的更改。

git branch original_tip_with_foo  # if you want a reference to the foo commit
git reset HEAD~
git stash
git branch branch_2 # we'll get there in a moment ...
git checkout -b branch_1
git stash pop
git add -p
# ... add your first set of changes, for the first branch ...
git commit -m'first set of changes'
git stash
git checkout branch_2
git stash pop
git add -p
# ... add your second set of changes ...
git commit -m'second set of changes'

关于git - 如何基于同一父级将 git commit 分成两部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5099217/

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