V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
diangdiang
V2EX  ›  程序员

小白求助,大家开发的时候 会在 git 仓库上维护多个分支吗,另外提交代码是在开发机上,还是在本地笔记本呢

  •  
  •   diangdiang · 2019-01-27 12:37:54 +08:00 · 3609 次点击
    这是一个创建于 2128 天前的主题,其中的信息可能已经有所发展或是发生改变。

    关于开发流程的一些问题,请教各位大佬:

    • 大家提交代码是在开发机 还是本地笔记本呢,我现在是

    本地笔记本拉取git仓库代码 -> 本地笔记本写完代码 -> 同步到开发机跑一下看能不能正常工作 -> 本地提交代码,

    • 大家一般会在 git 仓库上维护多个分支吗,如果是的话, 一般什么时候合并到 master 分支呢,我现在的情况是:

    本地和远端和都有devmaster两个分支,然后本地在dev上开发完再推到远端dev,但感觉这和 始终只在master一个分支开发没啥区别啊🤣, master分支没有用上,

    • 小白求助,大佬们有什么建议吗😂
    22 条回复    2019-01-28 11:43:45 +08:00
    diangdiang
        1
    diangdiang  
    OP
       2019-01-27 12:38:19 +08:00
    在线等大佬们出现 ~
    maggch
        2
    maggch  
       2019-01-27 12:39:52 +08:00 via Android
    如果不是多人协同。多分支意义是什么。
    weixiangzhe
        3
    weixiangzhe  
       2019-01-27 12:41:57 +08:00 via iPhone
    为什么本地不能看结果呢? 多人开发现在很多都是 走 git flow 这套流程
    diangdiang
        4
    diangdiang  
    OP
       2019-01-27 12:52:43 +08:00
    @weixiangzhe 本地环境和开发机不一样🤣
    diangdiang
        5
    diangdiang  
    OP
       2019-01-27 12:53:35 +08:00
    @maggch 单人开发就一个分支就行了是吗🤣
    JackieMe
        6
    JackieMe  
       2019-01-27 12:56:56 +08:00   ❤️ 1
    服务器端 dev 分支不是稳定的 feature 或者 hotfix 就可以合并到 master 么,然后服务器 master 分支不是日常使用布置到生产环境的分支吗怎么会没用上。反正觉得虽然我自己很菜,但是觉得 git flow 很靠谱啊。
    kran
        7
    kran  
       2019-01-27 12:57:21 +08:00 via Android   ❤️ 1
    github flow,可以搜索一下这个方式。做好分支自动化部署,会让你飞起来
    diangdiang
        8
    diangdiang  
    OP
       2019-01-27 13:02:47 +08:00
    @JackieMe @kran 好的 我看一下
    484A4B
        9
    484A4B  
       2019-01-27 13:45:42 +08:00
    会的,当第一个版本基本完成测试稳定之后就新开一个 dev 分支用来增加 feature,新增一个 bugfix 分支用来修复 master 上的 bug,当 dev 分支开发完善测试稳定之后合并的 master,也就是发新版本了。
    484A4B
        10
    484A4B  
       2019-01-27 13:46:18 +08:00
    @484A4B 合并到 master
    agagega
        11
    agagega  
       2019-01-27 13:48:39 +08:00
    dev 应该是其他的分支主要并入的主线分支; master 用来部署吧,也就是每个阶段 dev 可以部署了就合并入 master,保证任何一个时刻的 master 都是可以部署的。
    diangdiang
        12
    diangdiang  
    OP
       2019-01-27 14:44:03 +08:00
    @484A4B @agagega 学到了 多谢二位老哥
    quinoa42
        13
    quinoa42  
       2019-01-27 16:03:49 +08:00   ❤️ 1
    如果和人一起的话我肯定会自己开发的 feature 单独开个 branch
    如果只是我自己的个人产物,一般大改的时候会单独开个 branch,只是修修 bug 加加功能(一到两个 commit 写完不会出错的代码量)就懒了
    hsfzxjy
        14
    hsfzxjy  
       2019-01-27 16:18:17 +08:00 via Android   ❤️ 1
    就算一个人的项目,当思路不是很清晰时也可以开个 branch 试写一下,如果写得不好直接把 branch 丢掉
    msg7086
        15
    msg7086  
       2019-01-27 16:54:12 +08:00   ❤️ 1
    Git flow 简化版。
    master / dev 这些都是你自己的习惯,叫什么名字不重要,重要的是你知道哪个分支是可部署的,哪个分支是可以瞎瘠薄搞而不用担心被人胖揍的。
    我的习惯是每个 feature 开一个分支,然后 peer review 觉得没问题了就 merge 掉,如果有问题就原地 interactive rebase 修正。merge 完的代码就是测试全绿然后可部署的。
    nicevar
        16
    nicevar  
       2019-01-27 17:01:11 +08:00   ❤️ 1
    一般 master 分支都是锁定的,不让提交代码,个人项目基本上两三个分支差不多了,一些特别的需求或者调研才单独开分支,公司的项目基本上一个需求或者一个 bug 对应一个分支,这样管理起来比较方便,而且哪些问题修改了哪部分代码非常清晰,即使人员变动也能看到整个工作流程
    diangdiang
        17
    diangdiang  
    OP
       2019-01-27 17:59:22 +08:00
    多谢各位热心老哥, 感觉大家都玩的很 6,自己就是一个渣渣🤣
    echo404
        18
    echo404  
       2019-01-27 21:16:56 +08:00 via iPhone
    我们是每个功能一个分支,开发完成之后测试通过之后就合并到 master 分支
    icylogic
        19
    icylogic  
       2019-01-27 23:44:03 +08:00 via iPad
    git flow 已经很简洁了, 用这个就好。

    远程调试和 git 没什么关系,除非你是远程改完代码直接提交,那你可能不如用 git worktree 来解决。
    vince7839
        20
    vince7839  
       2019-01-28 10:44:41 +08:00
    分支存在的意义在于多人协作 协同开发 自己闹着玩就没必要了
    alexmy
        21
    alexmy  
       2019-01-28 10:45:05 +08:00
    开 feature 和 issue 分支,不直接在 dev 上做开发。
    ducklyl
        22
    ducklyl  
       2019-01-28 11:43:45 +08:00
    多人开发,就知道好处了。master 只是用来发布版本,修正问题,用来直接部署的。dev 就是开发分支,开发提交。
    当 dev 功能确认无问题,才可合并到 master 分支上。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1390 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:14 · PVG 01:14 · LAX 09:14 · JFK 12:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.