簡體   English   中英

將功能分支推送到遠程存儲庫以與不同步的 master 合並

[英]Pushing feature branch to remote repository to merge with not in sync master

在我工作的公司中,開發人員在本地提交更改后將本地功能分支推送到遠程存儲庫。 然后經過代碼審查,將特性分支合並到master(遠程master)中。

我的問題是:

如果本地master和遠程master不同步怎么辦? 然后分支合並成一個完全不同的項目? 比如我 git cloned master 2 周前 + 從它分支到一個新的特性分支,但是這兩個星期,對 master 做了改動。 所以我擔心我的功能分支會被合並到完全不同的主分支! 沒有我先測試。

問題:在將功能分支推送到遠程存儲庫並首先拉取請求之前,不是一個更智能的工作流程:

git checkout master
git pull
git checkout my-feature-branch
git merge master (now i know my branch is in sync with master. Resolve conflicts locally)

只有這樣:

git checkout my-feature-branch
git push origin my-feature-branch?

我在幾家公司(成功)中看到的流程如下:

  1. 將功能分支合並到主開發分支:
    • 簽出開發分支的更新版本。
    • 將開發分支合並到功能分支並解決所有可能的沖突。
    • 提交/推送處於“准備合並到開發分支”狀態的功能分支。
    • 將功能分支合並到開發分支中(現在可以刪除功能分支)。
    • 在開發分支上運行 CI/CD 測試以驗證合並是否有效。
  2. 將主開發分支合並到主分支(應該小心完成,並且應該通知所有其他開發人員開發分支正在合並到主分支):
    • 簽出主分支的更新版本。
    • 將 master 分支合並到 development 分支中(應該不是問題,因為 development 分支應該包含 master 分支中的所有內容)。
    • 提交/推送處於合並狀態的開發分支。
    • 將開發分支合並到主分支(並決定是否應該壓縮提交)。
    • 確保 master 是穩定的,在 master 分支上運行所有可能的測試。
    • 創建合並提交的標簽 - 從開發到分支的合並通常作為版本發布的前奏。

參考:

暫無
暫無

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

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