2016-09-19 116 views
1

我有一个简单的问题,但我在这里找不到重复内容。在提交新的更改之前更正以前的提交

我承诺将(承诺1)更改为wip分支并继续开发。现在我想提交新的更改(承诺2),但我注意到承诺1有一个错误。

我如何保存我的变化(相对于提交2)无commiting他们,回去承诺1并解决它,然后带回这些变化并执行承诺2

回答

1

从你的问题,我有一个要添加更多的变化的理解提交1.

git stash您为commit-2所做的更改然后修改先前的提交。

为此您应该使用git commit --amend。在此描述:

https://www.atlassian.com/git/tutorials/rewriting-history/

那么你可以使用git stash apply

应用藏匿的变化,并承诺在变化提交-2

1

您可以使用git stash

通常情况下,当你一直在做项目的一部分,东西都在 一个混乱的状态,你想切换分支的位元对 工作的东西其他。问题是,你不想做一个承诺完成一半的工作,以便以后可以回到这一点。该问题的 答案是git stash命令。

你应该做的:

git stash 
<checkout other branch> 
<commit changes> 
<checkout first branch> 
git stash pop 
1

或者:

  1. 藏你的工作状态和修复承诺1commit --amend,或
  2. 刚刚提交你的改变然后自然秩序和rebase。这将给像

    commit1 -> commit2 -> commit1fix <HEAD 
    

    和运行rebase -i HEAD~3,你可以重新排序提交像这样:

    pick aaaa commit1 
    fixup cccc commit1fix 
    pick bbbb commit2