2011-12-19 205 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