git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
creedowl
V2EX  ›  git

git 开源项目 pr 问题

  •  
  •   creedowl · Aug 16, 2018 · 3161 views
    This topic created in 2900 days ago, the information mentioned may be changed or developed.

    第一次接触到 github 的开源项目,有一些问题一直弄不清楚,来请教一下

    1. 我需要使用 github 上面的项目 A,但需要修改一部分,就 fork 了一份进行了一些修改(比如配置之类的原项目一般不会更改的内容),那么我要如何保持我 fork 的项目更新(解决冲突)?
    2. 在这之后我发现了 A 项目的一个 bug 并进行了修复,现在我想把这个修复 pr 到原项目,那么之前的改动会不会有影响,如果有要怎么解决呢?
    9 replies    2018-08-16 16:48:14 +08:00
    Greenm
        1
    Greenm  
       Aug 16, 2018
    你可以单独建立一个分支,更新后合并到你自己的分支里,手动解决 conflict

    bug 也是从 master 建立分支提交 PR,这样跟你自己的分支不冲突。

    而且一般提交 PR 都是要求创建单独的分支,免得污染 master
    creedowl
        2
    creedowl  
    OP
       Aug 16, 2018
    @Greenm #1 就是说我在我 fork 的 repo 里, 我的改动放在自己建立的分支上 B, 自己使用的就是 B, 每次从原项目更新 master, 合并到 B 上手动解决 conflict, 然后 bug 就从 master 新建另一个分支修复发 pr, 同时合并到我自己的那个分支上吗?
    Greenm
        3
    Greenm  
       Aug 16, 2018
    @creedowl 对,就是这样。
    creedowl
        4
    creedowl  
    OP
       Aug 16, 2018
    @Greenm #3 清楚了, 谢谢
    creedowl
        5
    creedowl  
    OP
       Aug 16, 2018
    @Greenm #3 还有个小问题, 之后我只能每次更新手动解决 conflict 吗, 我修改的内容原项目一般不会变化, 有什么解决办法吗
    ihainan
        6
    ihainan  
       Aug 16, 2018
    @creedowl 如果原项目不更新…为什么会有 conflict 呢,你不都是在原项目基础上做的修改吗?
    Greenm
        7
    Greenm  
       Aug 16, 2018
    对呀,源项目都不怎么更新,一般都不会有 conflict 的,直接合并就好了。
    creedowl
        8
    creedowl  
    OP
       Aug 16, 2018
    @ihainan #6
    @Greenm #7 哦哦, 对 git 还是不太熟悉, 没理解清楚
    ryd994
        9
    ryd994  
       Aug 16, 2018 via Android
    不一定 pull master
    想要保持 commit log 干净的话用 rebase 更好
    这是两派人的用法
    因为老项目不用 GitHub,靠邮件协作,要求把改动 squash 到一个 patch 文件里。所以你最后还是要 rebase 一次

    2. 修 bug 开新 branch
    修完先 pr bugfix
    等 merge 之后,rebase 或 pull 同步 master,再继续 pr 新 feature
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2903 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 13:41 · PVG 21:41 · LAX 06:41 · JFK 09:41
    ♥ Do have faith in what you're doing.