我想知道分支機構的正確工作流程是什麼,並從主機中拉出來。git分支工作流程
我創建了一個分支,並且對它們進行了修改。在主人我已經做了一些錯誤修復,我需要在我的分支。當我試圖拉我的IDE警告我,我的分支中的變化將被覆蓋,我應該首先承諾,但是我不在我應該承諾的地步。
對於需要從主服務器進行修改的分支機構,分支機構的正確工作流程是什麼?
我想知道分支機構的正確工作流程是什麼,並從主機中拉出來。git分支工作流程
我創建了一個分支,並且對它們進行了修改。在主人我已經做了一些錯誤修復,我需要在我的分支。當我試圖拉我的IDE警告我,我的分支中的變化將被覆蓋,我應該首先承諾,但是我不在我應該承諾的地步。
對於需要從主服務器進行修改的分支機構,分支機構的正確工作流程是什麼?
如果您想將更改拉入「髒」樹,您可以簡單地git stash
並完成您的git merge ...
。完成後,您可以使用git stash pop
恢復您的更改。
我想澄清一些事情:在git的術語
首先「拉」只適用時要合併來自遠程分支更改您當地的分行,但不是你的地方分支機構之間。如果是地方分支機構,則將合併或重新分配。
如果您的主分支有一些錯誤修正和一些開發分支(我現在正在談論本地分支),您正在開發一些新功能,那麼似乎主分支是開發分支的上游。因此,爲了在您的開發分支中將歷史記錄保存爲一條直線,並且在將來我將推薦使用rebase而不是merge來將開發分支快速合併到master分支中。
I.e.而不是:
git checkout dev
git merge master
你會做
git checkout dev
git rebase (-i) master
參數 「-i」 是可選的 - 觸發互動變基。當然,這也應該在乾淨的工作目錄上執行。關鍵是,儘管如此,你不必長時間保持工作目錄髒,不必積累變化。您可以輕鬆地提交更改爲小單臺望目到本地分支,然後清除them'up上使用交互式衍合
假設以下的歷史存在 和當前分支「主題」:
A---B---C topic / D---E---F---G master
從這一點來說,任以下命令的結果:
git rebase master git rebase master topic
將是:
A'--B'--C' topic / D---E---F---G master
注:後一種形式只是 GIT中結帳主題隨後GIT中 底墊主的短手。當底座退出主題 將保持退出分支。
因此,我必須提交或隱藏所有更改,然後再從主服務器上進行拉取操作? – 2011-03-22 23:55:35
@Jamie Taniguchi:沒錯,在做合併之前,你需要有一個「乾淨的」工作樹。 – 2011-03-23 00:04:10
好吧,清除它,感謝您的輸入,我對此有點困惑。 – 2011-03-23 00:10:09