假设我已经从分支master
结账了。那里有2个文件:A
和B
。
我已经编辑过它们,现在我有A1
和B1
个文件。突然间,我意识到以下列方式分离这些变化是个好主意:
branchA
并在那里提交A1
,但保持B
不变。 (branchA有A1和B)branchB
并在那里提交B1
,但保持A
不变。 (branchB有B1和A)如何以最小的努力实现这一目标?
答案 0 :(得分:4)
你真的不需要藏匿。通常,创建新分支不会消除未提交的更改。所以这应该有效:
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.'
答案 1 :(得分:1)
首先添加要提交的文件A1:
git add A1
将你的修改藏在B1上:
git stash
然后创建并切换到分支branchA
并提交对A1完成的修改:
git checkout -b branchA
git commit -m "modification on A1"
然后创建一个分支branchB
的开关(注意:从master创建)并应用你的存储:
git checkout -b branchB master
git stash apply
git add B1
git commit -m "modification on B1"