2011-08-21 67 views
0

我試圖讓我的本地機器上的主代碼的最後一個版本,但不刪除這是一個在樹的後面部分所做的任何當前的工作。我如何在git中完成這項工作?我試圖讓我的代碼的最後一個版本的混帳

enter image description here

我想我的本地機器有在「新項目」版本的代碼,但不刪除那些在主版本,它上面發生變化。

回答

0

關閉所有打開的編輯器,如果你從下改變他們的文件指出,會抱怨。

藏匿的變化(在文件Git是跟蹤)自上次提交:

git stash 

結帳前的最後提交發上的主分支承諾:

git checkout master^ 

完成!

要回到你開始的地方:

git checkout master 
git stash pop 

退房這個真棒Git book

1

使用

git stash 
git stash pop 

保存和恢復你的工作目錄。

如果你有一些提交未推,將導致合併衝突,使用

git rebase 

這將保存所有的提交沒有推,獲取最新的代碼,應用它,然後把保存在最新的提交之上提交。你完成了。

編輯:如果你想避免與已承諾的代碼合併衝突,然後使用

git reset --soft 

那將採取一切承諾但尚未推開的代碼,並把它放回指數。然後你可以藏起來,然後從主人那裏拉。

+0

我不認爲'rebase'獲取最新的代碼。合併時有一些衝突,在使用rebase時也會出現。 – svick

+0

我不相信'rebase'會提取。 @sciritai突出顯示了'fetch'的代碼。即「藏匿」,「獲取」,「流行」,然後根據需要也可以「變基」。 –

+0

我用另一個解決方案更新了我的答案。 – sciritai

相關問題