我們在 gitlab 中有一個 master 分支。我們在那個 master 分支下發布了 v1 分支。在 releasev1 分支下,我創建了我的 Register 分支。我也通過源代碼樹進行了結帳。但是,我如何在不知不覺中切換到主分支,而我的更改在本地主分支中。
在推送/提交代碼時,我意識到這一點,我當前的分支是主分支。因此,我停止向 master 提交/推送更改。
有很多新添加的檔案,也有現有的檔案更改。
有沒有可能不丟棄這些更改,推送到我的注冊分支?
我不想將這些更改推送給 master,這對我們來說是個大問題。我只想將我的更改推送到我的注冊分支。
有什么建議么?
uj5u.com熱心網友回復:
我想你是說你已經承諾master但你打算承諾register。沒問題。您可以輕松地移動提交(有效)。
假設你有這個:
A -- B -- C -- Oops1 -- Oops2 -- Oops3 (master)
X -- Y -- Z (register)
切換到register,然后cherry-pick是Oops提交,將它們復制到register. 最后,要洗掉原始Oops提交,請master切換reset --hard到C.
有一種更聰明的使用方法,rebase但我所描述的很容易。
uj5u.com熱心網友回復:
git stash是您的理想選擇。
只需git stash在您的本地存盤庫中運行,它會將您的更改保存在分離的存盤中并丟棄它們。然后切換到適當的Register分支并運行git stash pop。如果有任何沖突,它不會從分離的存盤中洗掉存盤。
如果您使用的是Sourcetree ,請使用本教程:https ://confluence.atlassian.com/sourcetreekb/stash-a-file-with-sourcetree-785332122.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/491531.html
上一篇:Git側分支覆寫了主分支?
