V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
coolair
V2EX  ›  问与答

Git 在这种情况下是用分支么?

  •  
  •   coolair · 2016-10-08 10:12:51 +08:00 · 1532 次点击
    这是一个创建于 2994 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在 GitHub 上面 clone 一个项目到本地,然后想在这个项目下自己加些功能,但是这个项目本身的功能不打算自己维护,有补丁或更新直接 pull 。但是,自己加的功能部分修改了他原有的代码,这个应该怎么处理?

    我现在是先clone下来,然后看看我改的那些代码有没有变动,如果没有,就把其他代码文件复制替换到自己的项目目录,然后再提交。
    8 条回复    2016-10-08 14:19:00 +08:00
    sfwn
        1
    sfwn  
       2016-10-08 10:20:41 +08:00
    fork
    hosiet
        2
    hosiet  
       2016-10-08 10:23:37 +08:00 via Android
    老兄听说过 git merge 吗
    leaves615
        3
    leaves615  
       2016-10-08 10:33:58 +08:00   ❤️ 1
    你可以先在 github 在 fork 原项目,然后 clone 到本地修改,并把版本库存在 github ,如果原项目有更新,那么使用 2 楼方式,通过 git merge 进行合并,如果有冲突,就编辑冲突的地方。

    如果你不想在 github 在开仓库,那么 clone 到本地后,新建你本地的分支,如果原项目更新 pull 下面,然后, merge 到你的分支上。
    21grams
        4
    21grams  
       2016-10-08 10:37:41 +08:00   ❤️ 1
    你自己拉一个分支在上面开发,然后用 master 保持同 upstream 的同步。 upstream 有更新的话,就 fetch 下来再同你的分支 rebase 。
    ericls
        5
    ericls  
       2016-10-08 10:40:23 +08:00   ❤️ 1
    我觉得你应该不仅要开一个新的 branch 还要 rebase 一下保持你自己的 branch 在原来 branch 的头部
    sutra
        6
    sutra  
       2016-10-08 11:20:37 +08:00 via iPhone
    多 remote , merge 。很常见的场景。
    9hills
        7
    9hills  
       2016-10-08 12:02:25 +08:00
    追踪 upstream 的话,使用 merge 比较明显的问题就是 history 会一团乱。

    如果是纯自用,建议 rebase ,保持 history 和 upstream 一致,如果是发布出去的,那还是 merge 吧,没办法
    xiubin
        8
    xiubin  
       2016-10-08 14:19:00 +08:00 via iPhone
    是的
    你可以建一个分支,当别人有更新代码时,你就合并更新到你的分支上就可以
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3135 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:10 · PVG 21:10 · LAX 05:10 · JFK 08:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.