第一次接触到 github 的开源项目,有一些问题一直弄不清楚,来请教一下
- 我需要使用 github 上面的项目 A,但需要修改一部分,就 fork 了一份进行了一些修改(比如配置之类的原项目一般不会更改的内容),那么我要如何保持我 fork 的项目更新(解决冲突)?
- 在这之后我发现了 A 项目的一个 bug 并进行了修复,现在我想把这个修复 pr 到原项目,那么之前的改动会不会有影响,如果有要怎么解决呢?
第一次接触到 github 的开源项目,有一些问题一直弄不清楚,来请教一下
1
Greenm Aug 16, 2018
你可以单独建立一个分支,更新后合并到你自己的分支里,手动解决 conflict
bug 也是从 master 建立分支提交 PR,这样跟你自己的分支不冲突。 而且一般提交 PR 都是要求创建单独的分支,免得污染 master |
2
creedowl OP @Greenm #1 就是说我在我 fork 的 repo 里, 我的改动放在自己建立的分支上 B, 自己使用的就是 B, 每次从原项目更新 master, 合并到 B 上手动解决 conflict, 然后 bug 就从 master 新建另一个分支修复发 pr, 同时合并到我自己的那个分支上吗?
|
7
Greenm Aug 16, 2018
对呀,源项目都不怎么更新,一般都不会有 conflict 的,直接合并就好了。
|
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 |