Contribution guide

1. 规范commit
feat: add hat wobble
^--^  ^------------^
|     |
|     +-> Summary in present tense.
|
+-------> Type: chore, docs, feat, fix, refactor, style, or test.


build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
docs: Documentation only changes
feat: A new feature
fix: A bug fix
perf: A code change that improves performance
refactor: A code change that neither fixes a bug nor adds a feature
style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
test: Adding missing tests or correcting existing tests
chore: updating grunt tasks etc; no production code change
2. 提PR步骤
1. 自己的本地repo主分支(这是是develop)保持和官方远程repo的最新代码一致
git remote add upstream https://github.com/PaddlePaddle/PaddleNLP # 添加官方repo为remote源,名为upstream
git pull upstream develop

2. 从主分支创建呢新的分支,用于增加feature或者bugfix
git checkout -b bugfix

3. 格式化源代码钩子
pip install pre-commit
pre-commit install

4. 在本地bugfix分支做修改,提交commit,然后push到自己的远程repo bugfix分支
git push origin bugfix

5. github端提交PR

6. PR合入后删除远程分支
github界面删除 或者
git push origin :bugfix

7.删除本地分支
git checkout develop
git branch -d bugfix



其他:
origin是个人repo作为remote
upstream是官方repo作为remote
可以通过git remote -v查看
(base) B000000365184D:text_simultaneous_translation gongenlei$ git remote -v
origin	https://github.com/gongel/PaddleNLP (fetch)
origin	https://github.com/gongel/PaddleNLP (push)
upstream	https://github.com/PaddlePaddle/PaddleNLP (fetch)
upstream	https://github.com/PaddlePaddle/PaddleNLP (push)
3. 常用的命令
git reset --hard commit_id 版本回退,HEAD后退,暂存区/工作区全部清空
git reset --soft commit_id 版本回退,HEAD后退,暂存区/工作区不变,并把HEAD后退带来的文件差异加入到暂存区
git reset --mixed commit_id 版本回退,HEAD后退,暂存区清空,并把HEAD后退带来的文件差异加入到工作区
git reflog 查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git checkout -b bugfix remotes/origin/bugfix 根据远程分支来创建本地分支

4. 常用术语
    • WIP   Work in progress, do not merge yet. // 开发中
    • LGTM Looks good to me. // Riview 完别人的 PR ,没有问题
    • PTAL Please take a look. // 帮我看下,一般都是请别人 review 自己的 PR
    • CC Carbon copy // 一般代表抄送别人的意思
    • RFC  —  request for comments. // 我觉得这个想法很好, 我们来一起讨论下
    • IIRC  —  if I recall correctly. // 如果我没记错
    • ACK  —  acknowledgement. // 我确认了或者我接受了,我承认了
    • NACK/NAK — negative acknowledgement. // 我不同意
5.  github加速处理
方法一 
# 设置代理 
export https_proxy=https://xx 
export http_proxy=http://xx 

方法二 
# 修改hosts文件 
sudo vim /etc/hosts 
# 刷新DNS缓存 
sudo killall -HUP mDNSResponder
6. 参考
0