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

又来问 git 使用问题了

  •  
  •   yeqizhang · 2020-10-13 21:26:56 +08:00 · 2919 次点击
    这是一个创建于 1503 天前的主题,其中的信息可能已经有所发展或是发生改变。

    你们的 dev 分支会经常删除重新拉吗?

    因为我看到,有人问“把 dev 分支合并到 master 的同时,让 dev 变得跟合并后的 master 一样”怎么操作,

    有网友说,把 dev 分支合并到 master,然后重新开一条开发分支,或者删掉之前的 dev,然后重新从 master 拉一条 dev .我在 idea 上看到: 将 dev merge into master 的操作完成后,会有个气泡窗提供了删除的快捷操作.

    但本人一直都是将 master 再合并到 dev 来和 master 同步保持一致,这样不好之处就是会在 log 流程图上产生一个 merge 记录. 因为目前的开发模式是多人在同一个 dev 分支下开发,也没法像上述那样去操作.

    所以,大家都是怎样去玩的呢?我现在这样的操作问题大不大?


    第二个问题是,在 idea 上合并分支时,比如合并 dev 到 master,dev 是已经推送了,我一直一来都是选择 local 上的 dev merge into current, 今天有看见网文的图是选择 remote 上的 dev , 请问我的操作问题大不大呢?

    13 条回复    2020-10-14 15:10:48 +08:00
    liqingcan
        1
    liqingcan  
       2020-10-13 21:36:06 +08:00   ❤️ 1
    1 、一个需求一个 dev 分支,所以基本新需求就是从 master 拉最新的分支,名称不一样,所以也就不存在经常删除
    2 、local 的 dev 分支和 remote 的 dev 分支理论上是一样的,所以操作应该没啥问题
    yeqizhang
        2
    yeqizhang  
    OP
       2020-10-13 21:36:14 +08:00 via Android
    第二个问题我想了下,应该应该没问题,比较 idea 都提供了在 local 的分支上是操作了!
    aragakiyuii
        3
    aragakiyuii  
       2020-10-13 21:37:08 +08:00 via iPhone   ❤️ 1
    我的习惯是:dev 开发完 -> push 一个 release 去测试 -> 测试没问题了把 release 向 dev 和 master 分别提个 pr/mr,合并完就删了 -> master 打 tag -> dev 接着开发新的
    nightwitch
        4
    nightwitch  
       2020-10-13 22:06:47 +08:00   ❤️ 2
    直接把 master rebase 到 dev 分支,此时 master 和 dev 就同步了。
    如果你们不允许 rebase master,就合并 dev 和 master,然后 rebase dev 到合并后的 master
    chinvo
        5
    chinvo  
       2020-10-13 23:51:29 +08:00 via iPhone   ❤️ 1
    建议看看 git flow
    noqwerty
        6
    noqwerty  
       2020-10-13 23:55:39 +08:00
    有空的时候可以过一遍这个教程: https://learngitbranching.js.org/ 我觉得对我帮助挺大的
    szq8014
        7
    szq8014  
       2020-10-14 08:57:32 +08:00
    啊,不需要任何复杂的操作,你 master merge dev 后,你会再 push master 到 origin 上吧。然后推完了你再推一次,在那个推送的窗口那里远程的分支你可以修改的,改成 dev 就可以了。
    这样操作不产生 merge commit
    SachinBeyond
        8
    SachinBeyond  
       2020-10-14 09:25:42 +08:00 via Android
    @aragakiyuii 老哥,可以再详细一点吗?
    本地 dev 推到远程 release 分支,然后怎么操作?
    1 ,测试提出的 bug 在本地 dev 分支修复后再推到远程 release 分支吗?
    2.release 分别向 master 和 dev 提 mr pr 是什么意思
    kaiz1121
        9
    kaiz1121  
       2020-10-14 09:42:59 +08:00
    你的 dev 是常驻分支还是临时分支,一次上线计划下的需求都在一个 dev 上开发?
    建议了解一下 gitflow 和 gitHubflow 开发模式。gitflow 流程过长,现在我们采用的是 githubflow 模式,featue-release-master.
    yeqizhang
        10
    yeqizhang  
    OP
       2020-10-14 10:43:41 +08:00
    @kaiz1121 常驻的,使用的不规范吧。之前在的公司是在 dev 上加版本号 dev1.2 这样子,也就是一次上线计划的产品版本需求在一个 dev 上开发
    tang123456
        11
    tang123456  
       2020-10-14 11:09:31 +08:00
    HankAviator
        12
    HankAviator  
       2020-10-14 12:24:47 +08:00 via Android
    @nightwitch github 上 如果 master,忘了是 merge 还是 rebase,其他远程地址上游更改,再把 master rebase 到 dev 上,自不一致日期起的所有提交都会显示你和原提交者共同提交。 没太搞懂为何这样做。
    zunceng
        13
    zunceng  
       2020-10-14 15:10:48 +08:00
    个人比较习惯 Arcanist Workflows 团队大了可以换成 facebook workflows
    https://secure.phabricator.com/w/guides/arcanist_workflows/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2748 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 106ms · UTC 15:11 · PVG 23:11 · LAX 07:11 · JFK 10:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.