我試圖讓我的本地機器上的主代碼的最後一個版本,但不刪除這是一個在樹的後面部分所做的任何當前的工作。我如何在git中完成這項工作?我試圖讓我的代碼的最後一個版本的混帳
我想我的本地機器有在「新項目」版本的代碼,但不刪除那些在主版本,它上面發生變化。
我試圖讓我的本地機器上的主代碼的最後一個版本,但不刪除這是一個在樹的後面部分所做的任何當前的工作。我如何在git中完成這項工作?我試圖讓我的代碼的最後一個版本的混帳
我想我的本地機器有在「新項目」版本的代碼,但不刪除那些在主版本,它上面發生變化。
關閉所有打開的編輯器,如果你從下改變他們的文件指出,會抱怨。
藏匿的變化(在文件Git是跟蹤)自上次提交:
git stash
結帳前的最後提交發上的主分支承諾:
git checkout master^
完成!
要回到你開始的地方:
git checkout master
git stash pop
退房這個真棒Git book。
使用
git stash
git stash pop
保存和恢復你的工作目錄。
如果你有一些提交未推,將導致合併衝突,使用
git rebase
這將保存所有的提交沒有推,獲取最新的代碼,應用它,然後把保存在最新的提交之上提交。你完成了。
編輯:如果你想避免與已承諾的代碼合併衝突,然後使用
git reset --soft
那將採取一切承諾但尚未推開的代碼,並把它放回指數。然後你可以藏起來,然後從主人那裏拉。
我不認爲'rebase'獲取最新的代碼。合併時有一些衝突,在使用rebase時也會出現。 – svick
我不相信'rebase'會提取。 @sciritai突出顯示了'fetch'的代碼。即「藏匿」,「獲取」,「流行」,然後根據需要也可以「變基」。 –
我用另一個解決方案更新了我的答案。 – sciritai