极客油画

1. fork项目到自己的github仓库

已经加入过Organizations的同学,需要选择是个人项目还是Organizations项目

2. clone代码到本地

clone代码到本地后,就执行如下操作:

  1. 新建分支
  2. 提交代码,修复bug
    • 符合开源库的代码规范
    • 按照规范写commit message

3. 提PR

在提PR之前,点击下Fetch upstream下拉框,看看我们fork的项目是不是最新的。

如果不是最新的,可以点击下拉框中的Fetch and merge按钮,或者使用如下命令:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# 1. set remote
$ git remote add upstream https://github.com/superedge/superedge.git
$ git remote set-url --push upstream no-pushing

$ git remote -v
origin https://github.com/natsql/superedge.git (fetch)
origin https://github.com/natsql/superedge.git (push)
upstream  https://github.com/superedge/superedge.git (fetch)
upstream  no-pushing (push)

# 2. 取消分支默认上游的设置
$ git branch --unset-upstream
$ git branch --set-upstream-to=origin/master

# 3. 覆盖本地的master
$ git fetch upstream
$ git pull upstream/master

4. 代码规范

https://github.com/golang/go/wiki/CodeReviewComments

5. commit message规范

回答两个问题:what(subject line) changed and why(body of the commit).

格式如下:

<package>: <what changed>
<BLANK LINE>
<why this change was made>
<BLANK LINE>
<footer>

范例:

tunnel: add grpc interceptor to log info on incoming requests

To improve debuggability of superedge. Added a grpc interceptor to log
info on incoming requests to tunnel server. The log output includes
remote client info, request content (with value field redacted), request
handling latency, response size, etc. Uses zap logger if available,
otherwise uses capnslog.

Fixes #10

如果一个pull request中修改了多个文件和包,该怎么办:

  1. 在review过程结束时,如果单个包存在多个提交,则应在合并之前将它们压缩(squashed)/重新定位(rebased)为单个提交:
tunnel: <what changed>
[..]
  1. 如果pull request跨越多个包,这些提交应该使用带有*:前缀的消息,并将它们压缩(squashed)/重新定位(rebased)为单个提交:
* <功能模块名>: <what changed>
[..]

6. Github上的黑话

PR : Pull Request. 拉取请求,给其他项目提交代码,这个是最为常见的缩写。

WIP : Work In Progress. 传说中提 PR 的最佳实践是,如果你有个改动很大的 PR,可以在写了一部分的情况下先提交,但是在标题里写上 WIP,以告诉项目维护者这个功能还未完成,方便维护者提前 review 部分提交的代码。

LGTM : Looks Good To Me. 已阅 代码已经通过 review,可以合并。也可理解为 “OJBK”。

SGTM : Sounds Good To Me. 同上,也是已经通过了 review 的意思。

PTAL : Please Take A Look. 你来瞅瞅?用来提示别人来看一下。

TBR : To Be Reviewed. 提示维护者进行 review。

TL;DR : Too Long; Didn’t Read. 太长懒得看。也有很多文档在做简略描述之前会写这么一句,第一次看到的反应是:这TM是啥?

TBD : To Be Done(or Defined/Discussed/Decided/Determined). 根据语境不同意义有所区别,但一般都是还没搞定的意思。


本文发表于 0001-01-01,最后修改于 0001-01-01。

本站永久域名「 jiavvc.top 」,也可搜索「 极客油画 」找到我。


上一篇 « 下一篇 »

赞赏支持

请我吃鸡腿 =^_^=

i ysf

云闪付

i wechat

微信

推荐阅读

Big Image