2011-01-31 91 views
9

我每天工作的軟件都有兩個不同的分支。但是,每次結賬其他分支時,我的構建過程可能需要一個小時。爲了解決這個問題,我剛剛在兩個單獨的文件夾中爲每個分支簽出了一次項目。使用git,如何將一些未提交的更改從一個分支移動到另一個分支中的另一個分支?

我在一個分支做了一些工作,並在提交之前意識到我在錯誤的文件夾中,因此錯誤的分支。如何將我在這個分支上做的工作移動到另一個分支上,最好不要創建一個提交(如果甚至可能的話)?

回答

19

在有變化的目錄,這樣做:

 
$ git diff > patch 

cd到其他目錄,然後執行:

 
git apply /path/to/patch 
+1

這應該工作,雖然我可能會縮小它多一點。 `cd project2 &&(cd ../project1 && git diff)| git apply`。無需將補丁文件寫入磁盤。 – 2011-01-31 20:19:33

+1

謝謝,它的工作。我使用了`git diff> patch`,`git reset --hard`,然後移動到正確的分支和`git apply patch`。 – thameera 2012-07-02 08:34:13

6

好了,你也不能建立另一個分支..

  1. 進行更改,請勿執行
  2. 切換到其他分支
  3. 提交(不建)
  4. 回來

當然,如果你可以讓自己不建設(合理在某些情況下)提交這僅適用。

相關問題