[英]Git only merging some commits
假設我有一個包含以下分支的 git 存儲庫:
在 QA 分支上,我提交了已獲准發布的“A”,我也提交了尚未獲准發布的“B”。
有沒有辦法讓我只合並將“A”提交到暫存和母版,以便將未批准發布的更改排除在暫存/生產環境之外?
git merge
命令的“對象”始終是提交。 (您通常說分支名稱的事實只是一個偶然的事實,因為分支恰好是提交的另一個名稱。)只是合並它。
在 QA 分支上,我提交了已獲准發布的“A”,我也提交了尚未獲准發布的“B”。 有沒有辦法讓我只合並將“A”提交到暫存和母版,以便將未批准發布的更改排除在暫存/生產環境之外?
您所要求的內容證明了使用分支管理發布的問題:您一次只能在 QA 中做一件事,而且它們往往會堆積起來。 如果您使用功能分支工作流並使用標簽而不是分支進行 QA 和暫存,則可以避免很多復雜性。
現在,要在您當前的工作流程中修復它...
您可以從 B 建立一個功能分支,將 QA 移至 A,正常處理 QA(現在在 A),然后照常處理 B。
這是你的回購,大概。
Z - A - B [QA]
\
C - D [staging]
\
E - F [master]
$ git branch feature/B B
[feature/B]
Z - A - B [QA]
\
C - D [staging]
\
E - F [master]
$ git checkout QA
$ git reset --hard A
$ git push --force-with-lease
B [feature/B]
/
Z - A [QA]
\
C - D [staging]
\
E - F [master]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.