【问题标题】:Is it possible to deploy some changes from one git branch to other?是否可以将一些更改从一个 git 分支部署到其他分支?
【发布时间】:2022-11-17 15:34:37
【问题描述】:

在我的组织中,我们使用一种模式,开发人员将创建一个新分支,将其合并到 dev,然后将 dev 合并到 qa,将 qa 合并到 prd。现在,我的情况是其他一些开发人员对 QA 做了一些更改,但他不想将他的更改部署到 prd。目前,我在 QA 分支中有我的更改,有什么方法可以仅将我的更改从 QA 部署到 PRD。我不想覆盖其他开发人员在 QA 中的更改。

【问题讨论】:

  • 答案取决于几个因素,包括您的工作流程和政策。您是否可以从 QA 到 prod 进行挑选?您的同事父母或孩子的更改是否提交了您的更改?如果是孩子,很简单,只合并你的提交。如果是父母:您必须求助于 cherry-pick、新分支、还原和重新还原或其他方法

标签: git bitbucket


【解决方案1】:

正如 knittl 所说,这取决于您在公司的政策,因此在尝试做任何事情之前询问您团队的领导/经理非常重要。话虽如此,从技术角度来看,这是完全可行的。首先,你需要复制你想要 cherry-pick 的提交的 git 哈希值,如下所示:-

-列出 QA 分支上的提交:-

git log --oneline qa-branch

这将为您提供哈希列表,大致如下:

aabbccdd commit 7
00112233 commit 6
44556677 commit 5
abcd1234 commit 4

现在假设您想复制第 4 次和第 5 次提交,然后按如下方式执行此操作:-

git checkout 产品分支 git cherry-pick abcd1234 git cherry-pick 44556677

您可以尝试更加安全并创建备份分支以在那里完成您的工作,构建代码以确保一切正常,然后将内容合并到您的主要产品分支。工作流程将是这样的:-

git checkout prod-branch
git checkout -b prod-branch-backup
git cherry-pick abcd1234
git cherry-pick 44556677
#Build project and run tests
git checkout prod-branch
git merge prod-branch-backup

【讨论】:

    猜你喜欢
    • 2020-06-03
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 2019-03-17
    • 2016-06-15
    • 2019-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多