2011-12-19 116 views
11

我总是使用git rebase来同步我的代码,我发现git stash保存了当前的工作,并且在从master获取最新的代码之后,我们可以使用git stash pop将它与我们的代码合并。git stash pop vs git rebase

假设的顺序是:

  • git stash,即我目前的工作将被保存
  • git checkout master,然后git pull master,即我从主
  • git checkout mybranch
  • git stash pop
获取最新的代码

我想这会合并我的工作与更新的代码,如果不是git stash pop我会做
git rebase master那么结果将是相同或不是?

您的建议和帮助将不胜感激,谢谢你的时间。

回答

12

存储意味着存储那些还没有被提交的更改。例如,如果您正在处理尚未完成的任务,并且您希望在未完成未完成的工作的情况下处理其他事情,则可以使用存储器将其存储起来以备后用。

如果您有实际的提交,其中包含完成的工作,则使用git mergegit rebase将这些提交合并/重新绑定到历史记录中。

+0

只是意识到这个功能的存在!我总是做重新装修..真可惜! 谢谢:) – nonintanon 2013-04-22 08:26:25

+0

有关何时使用'git merge' vs'git rebase'的更多信息:http://stackoverflow.com/a/804156/2104168 – cjsimon 2017-03-21 22:14:48