假设我已经从 branch 结帐master
。那里有 2 个文件:A
和B
.
我已经编辑了它们,现在我有文件A1
和B1
. 突然间,我意识到用以下方式分离这些变化是个好主意:
- 在那里创建
branchA
并提交A1
,但B
保持不变。(分支A有A1和B) - 在那里创建
branchB
并提交B1
,但A
保持不变。(branchB有B1和A)
如何以最小的努力实现这一目标?
假设我已经从 branch 结帐master
。那里有 2 个文件:A
和B
.
我已经编辑了它们,现在我有文件A1
和B1
. 突然间,我意识到用以下方式分离这些变化是个好主意:
branchA
并提交A1
,但B
保持不变。(分支A有A1和B)branchB
并提交B1
,但A
保持不变。(branchB有B1和A)如何以最小的努力实现这一目标?
你真的不必藏匿。通常创建一个新分支不会清除未提交的更改。所以这应该工作:
git checkout -b branchA
git add A A1
git commit -m 'Changes in branchA.'
git checkout -b branchB HEAD~
git add B B1
git commit -m 'Changes in branchB.'
首先添加要提交的文件A1:
git add A1
在 B1 上存储您的修改:
git stash
然后创建并切换到分支branchA
并提交在 A1 上完成的修改:
git checkout -b branchA
git commit -m "modification on A1"
然后创建一个切换到分支branchB
(注意:从主创建)并应用您的存储:
git checkout -b branchB master
git stash apply
git add B1
git commit -m "modification on B1"