我是Git(Gitlab)分支和合並的新手,當然,這是一個相當複雜的場景。合併多個Git分支並將它們推送到遠程服務器(Gitlab)
回購(「myapp
」)有一個名爲「cleanup
」的功能分支。我被要求在本地分支分支,添加一些更改,將這些更改合併到cleanup
,然後合併cleanup
與主線(「origin
」?)。所以我克隆myapp
,切換到cleanup
分支,然後支,並給那支mycleanups
:
origin/mainline (exists on remote Gitlab server as well as locally)
+---> cleanup (exists on remote Gitlab server as well as locally)
+---> mycleanups (just exists locally)
所以,現在我想要做的是:
- 合併
mycleanups
與cleanup
,希望只本地 - 然後按合併(
mycleanups
+cleanup
)至cleanup
分支(除非此步驟不必要) 合併
cleanup
與origin
並推送這些更改。這應該需要某種對Gitlab(從cleanup
到origin
)「合併請求」 ......我很舒服合併,但不知道我應該嚴格做好與當地應該怎樣推到遠程Gitlab服務器。有人可以提供一系列具體的步驟(例如
git
命令!),我可以如何在本地和遠程實現這種多分支合併?
感謝您對@bcmcfc(+1)的精彩解說 - 儘管如此,您仍然可以快速跟進。你說:「做一些改變,提交它們並推送它們。」但是接下來你會說「*在這一點上,你的本地分支在遠程分支之前。」**這是我心理掛斷的地方!**如果我只是將更改推送到遠程Gitlab服務器('git push'),那麼爲什麼我的本地分支會在遠程分支的前面*不應該現在完全相同(因爲我只是推他們)?!?!謝謝你的澄清! – smeeb
在這個階段你還沒有推 - 你只檢查了遙控器並做了一些改變。 – bcmcfc
對不起,不要在這裏困難(認真!)。你的逐字聲明是:「*做一些改變,提交併推送它們(git commit,git push)(此時,你的本地分支在遠程分支之前。」所以你說:(1)make (2)提交,(3)推送,然後(4)本地分支在遠程分支前面,我正在閱讀這篇文章嗎?!? – smeeb