我們的開發環境由dev
,demo
和master
分支組成。我們使用JIRA來跟蹤問題,每次我們開始討論問題時,我們將分支dev
,進行必要的更改,最後推出分支。從Git合併分支
爲了測試,我們首先將分支(對應於JIRA問題的名稱)合併到dev
中,測試它,然後合併到demo
,測試它,然後合併到master
。
我們遇到的問題是問題似乎在彼此建立。我可以用一個例子來最好地解釋這一點:
比方說,我們有我們的典型環境,dev
,demo
和master
。有三個問題,TEST-1
,TEST-2
和TEST-3
。這些問題按其創建順序完成,分支爲dev
,在分支上工作,然後提交併推送分支。然後我將分支合併到dev
中,然後再次分支出下一個問題。
當需要推動這三個分支生存時,我們會產生意想不到的結果。爲了合併這些爲master
,我登錄到服務器的命令行1運行命令:
git fetch origin
這將讓我看到了新的分支機構。假設我們只想推動TEST-3
的更改。我們運行命令:
git merge origin/TEST-3
與僅看到第三個分支合併進來的更改相比,所有更改似乎都被拉了。所以後來,當我們最終在第一和第二期合併時,它給了我們「已經最新」的消息。
這不是我們想要的,就像這種行爲一樣,我們無法退出各個分支。
有什麼我做錯了嗎?我們如何以這樣一種方式來做到這一點,即允許我們爲每個問題創建分支,並將它們合併成一個一個,並在需要時將這些更改拉出來。
非常感謝你的詳細回覆。這非常有幫助!也許我的問題是我分支'dev'來創建'TEST-1',然後在分支'TEST-2'之前將'TEST-1'合併回'dev'。我認爲'TEST-2'本質上就是,如你所說,間接地基於'TEST-1'。 –