簡體   English   中英

將未完成的更改從主服務器移到分支

[英]Move uncomitted changes from master to branch

我最近開始對我的master分支進行一些更改以添加featureX。 我創建了1個新文件,並編輯了6個其他文件。 我尚未進行任何更改。 暫時,我想在一個單獨的分支上使用featureX,並保持原版不變,直到我確定featureX可以正常工作為止。

我知道在開始對featureX進行這些更改之前應該已經開始了一個新的分支,但是是否有將我對master分支進行的未提交的更改轉換為FeatureX分支並將master還原到其featureX之前狀態的方法?

創建一個新分支( git checkout -b your_new_feature )可以完成這項工作-否則,您可以嘗試以下操作:

git stash
git checkout -b your_new_feature
git stash apply

您需要stash所有更改,然后將其應用到其他地方:

git stash
git checkout -b other_branch
git stash apply

此處閱讀有關git stash更多信息


正如我剛剛了解(並嘗試)的那樣,實際上您可以簽出您的分支,而git會記住更改了哪些文件。 所以

git checkout -b other_branch

應該足夠了。


注意:學習git stash也很重要。 在這種情況下,沒有問題。 但是,如果other_branch已經存在,則可能會有其自己的更改,因此可能存在合並沖突。 在這種情況下,只需寫

git checkout other_branch

可能會失敗,並顯示以下消息:

錯誤:您對“任何內容”進行了本地更改; 無法切換分支。

在這種情況下,您應該使用上面的方法,並在git stash apply ,解決可能的沖突。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM