V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
windflowerxx
V2EX  ›  git

pull request 是不是用 cherry-pick 实现的呢?

  •  
  •   windflowerxx · 2020-04-26 10:26:33 +08:00 · 2758 次点击
    这是一个创建于 1673 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我刚接手 java 开发,正在开发新功能和修复一个旧缺陷,这次上线只上线修复缺陷的版本,

    我本来是从 dev 分支,选择我修复的 commit 进行 cherry-pick,合并到生产的分支

    但是怕这样做和团队原来的风格不一致就问了前辈,前辈就叫我上码云上新建 pull request,在网页上选择我要拉取的 commit 来合并到生产分支。

    我突然有个疑问,pull request 除了有个审核的功能之外,它内部选择 commit 拉取到其它分支的做法是不是靠 cherry-pick 实现的呢

    8 条回复    2020-04-27 08:23:03 +08:00
    SilentDepth
        1
    SilentDepth  
       2020-04-26 11:05:41 +08:00
    Pull Request 就是个 Merge 啊
    VDimos
        2
    VDimos  
       2020-04-26 11:30:41 +08:00 via Android
    是的
    enjoyCoding
        3
    enjoyCoding  
       2020-04-26 11:40:04 +08:00
    pull request 的有三种方式
    cherry-pick 只能模拟其中一种 大多数情况下三种是不同的 只有一个提交的话
    cherry-pick 更简单些

    pr 有用到 merge rebase
    cherry-pick 的优势在于可以选择 commit
    lhx2008
        4
    lhx2008  
       2020-04-26 11:43:34 +08:00 via Android
    可以去 github 体验一下,merge 有三种方法可以选,好像不需要 cherry pick
    sfqtsh
        5
    sfqtsh  
       2020-04-26 12:22:02 +08:00 via Android   ❤️ 2
    你们新功能和 patch 都提交到同一个 dev 分支?但只想 back-port 这个 patch 到发布版本所在分支?

    像我们,提 PR 一个是让团队其它成员评审,一个是可以跑 CI 。都保证没问题再合入到发布分支。(有些 patch 可能 dev 分支没问题,在发布分支就有问题了)。

    所以你应该:
    * 从发布分支拉个新分支,命名 xxx-patch
    * cherry-pick dev 分支的 patch 提交 到 新分支
    * push 新分支
    * Web 上选择 PR: 新分支-> 发布分支

    PR 发现了问题,可以随时 add commit 或 force push 后重新评审,,而不会影响你的发布分支。你如果直接 cherry-pick 到发布分支,有问题怎么办?回退 or 重新提交次修复?

    PR 结果是合入分支,方法一般是 merge (虽然还有 rebase, squash 等)。merge 和 cherry-pick 本质不同,前者是合入 snapshot,后者是应用 change 。
    itstudying
        6
    itstudying  
       2020-04-26 12:39:27 +08:00 via Android
    @sfqtsh 这个应该是正解,因为我们这流程就是这样 😂
    baiyi
        7
    baiyi  
       2020-04-26 13:29:18 +08:00
    pr 的三种合并方式对应的应该是 merge 、rebase 、rebase squash
    windflowerxx
        8
    windflowerxx  
    OP
       2020-04-27 08:23:03 +08:00
    好的 明白了,谢谢大家的解答😀
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   963 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 22:46 · PVG 06:46 · LAX 14:46 · JFK 17:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.