git - 将修改后的文件从一个分支提交到另一个分支

时间:2014-10-22 15:48:03

标签: git

方案: 我有2个分支:devsprint1

  1. 我在签出分支sprint1;
  2. 时做了一些更改
  3. 我不想在sprint1中添加/提交这些更改,我想在dev上添加/提交这些更改;
  4. 我试图结帐dev而不首先在sprint1中提交更改,但结帐失败;
  5. 我的问题是:如何将sprint1中的这些更改带到dev而不将其提交到sprint1;

2 个答案:

答案 0 :(得分:3)

Stashing

git stash
git checkout dev
git stash apply
git commit

答案 1 :(得分:3)

您可以将本地修改合并到要结帐的分支中。

sprint1分支上执行:

git checkout --merge dev

这会将工作目录的本地修改合并到dev分支并切换到它。这些更改只是合并而未提交。所以你现在可以照常继续。

git add ....
git commit

来自git checkout文档

  

- 合并

     

切换分支时,如果对当前分支和要切换到的分支之间的一个或多个文件进行本地修改,则该命令拒绝切换分支以保留上下文中的修改。 但是,使用此选项,当前分支,工作树内容和新分支之间的三向合并已完成,您将进入新分支。