将本地文件提交到不同的分支

时间:2013-07-18 15:20:00

标签: git

假设我已经从分支master结账了。那里有2个文件:AB

我已经编辑过它们,现在我有A1B1个文件。突然间,我意识到以下列方式分离这些变化是个好主意:

  • 创建branchA并在那里提交A1,但保持B不变。 (branchA有A1和B)
  • 创建branchB并在那里提交B1,但保持A不变。 (branchB有B1和A)

如何以最小的努力实现这一目标?

2 个答案:

答案 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"