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

我这个项目的 Git 使用方式是不是有问题?

  •  
  •   HarveyZh · 2019-10-31 17:22:09 +08:00 via Android · 1749 次点击
    这是一个创建于 1856 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先 fork 项目到自己的账号下,然后再用 idea 克隆到本地,一切代码修改都是在自己 fork 的项目 update 分支上修改。

    修改代码后提交到自己的 update 分支上,然后再在主项目创建一个新的合并请求,把自己的 update 分支合到 主项目的 update 上。

    之后把主项目 update 合到正式版本上。

    现在有个问题,每次更新代码,都只是更新自己分支上 update 代码,同事提交的代码,我无法获取。

    之前用 eclipse 可以添加主分支地址用来更新代码。

    13 条回复    2019-11-01 14:02:09 +08:00
    HarveyZh
        1
    HarveyZh  
    OP
       2019-10-31 17:24:34 +08:00 via Android
    公司内部搭建的 GitLab。
    MattMin
        2
    MattMin  
       2019-10-31 17:26:55 +08:00
    直接 clone 源项目, 切到开发分支, 就能同步到了
    wangkun025
        3
    wangkun025  
       2019-10-31 17:29:45 +08:00
    repository/branch

    没有必要创建 repository,否则你就不能持续拿到别人的代码。
    你可以创建 branch,也可以直接使用已有的 branch。后者需要 leader 同意。
    HarveyZh
        4
    HarveyZh  
    OP
       2019-10-31 17:37:13 +08:00 via Android
    @MattMin 我能在源项目自己新建一个分支,在这里修改代码,之后提交到开发分支上吗? 不直接使用开发分支,是防止自己误操作,影响同事使用。
    jadehare
        5
    jadehare  
       2019-10-31 17:40:14 +08:00
    你这种操作一般都是 branch 解决的,fork 是两个项目了,想拉去的话需要再添加原仓库的 remote,然后拉取这个 remote 合并到你的项目。
    HarveyZh
        6
    HarveyZh  
    OP
       2019-10-31 17:40:52 +08:00 via Android
    @wangkun025 嗯嗯,好办法。
    crysislinux
        7
    crysislinux  
       2019-10-31 17:44:09 +08:00 via Android
    别人的项目你需要自己 fork。但是如果是一个公司的,就直接开分支
    passerbytiny
        8
    passerbytiny  
       2019-10-31 17:56:43 +08:00
    缺少了一个环节:fork 项目没有拉取上游项目进行同步。

    fork 是分叉,直接分叉独立发展,或者超大项目需要使用 patch 进行合并的时候才有必要用。中小型项目的协同开发,还是分支比较好用。
    HarveyZh
        9
    HarveyZh  
    OP
       2019-10-31 18:02:42 +08:00 via Android
    @passerbytiny 新建的 branch 能获取到 update 新代码吗?
    passerbytiny
        10
    passerbytiny  
       2019-10-31 18:15:09 +08:00
    @HarveyZh #9 我没干过这种事。但是 fork 项目从上游拉取,应该跟本次仓库从中央仓库拉取是一样的,master 向 master 合并,update 向 update 合并。
    HarveyZh
        11
    HarveyZh  
    OP
       2019-10-31 18:56:03 +08:00 via Android
    新建了一个 branch 但是怎么更新呢? 直接 pull 还是更新不了代码?
    msg7086
        12
    msg7086  
       2019-11-01 01:21:10 +08:00
    多使用多练习,避免误操作,然后直接在项目上改。

    branch 更新需要自己 rebase 主线。

    相当于这个过程: https://git-scm.com/book/en/v2/images/basic-rebase-3.png
    MattMin
        13
    MattMin  
       2019-11-01 14:02:09 +08:00
    @HarveyZh 1. 可以新建分支, 不过你的同事没往你这个分支提交代码你还是更新不到; 2. 怕影响同事使用, 提交前可以先自测一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1074 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:11 · PVG 03:11 · LAX 11:11 · JFK 14:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.