Git Guide for WLTT - XuhengLi/WLTT GitHub Wiki

我们采用 linear git history,不使用 fork 和 pull request,避免merge的存在

1. Clone源代码

git clone https://github.com/XuhengLi/WLTT

cd WLTT

## 设置你的local config,和github 保持一致
git config --local user.name "XuhengLi"
git config --local user.email [email protected]

2. 创建新Branch

当你在Issues中申请任务后,需要在你的本地创建新的branch, branch名称任意

为方便查阅需求,你可以使用 issue_[num] 命名,比如申请的issue编号为1,branch 命名为 issue_1

git checkout -b issue_1

3. 在新Branch上编写代码

如果任务过大,花费时间较长,要经常与主branch同步

$ git checkout master
$ git pull --rebase
$ git checkout your-issue-branch
$ git rebase master
--- 这里可能需要解决一下conflicts 然后 `git rebase --continue`

4. 提交Commit

提交命令:

git commit -m 

commit 的 message 要以 [issue #num] 开始, message长度不做要求,例如

[issue #17] Do not hide suggestion when suggestion div is clicked

5. 合并到master

如果你长时间没有和master branch同步,请先使用[#3在新Branch上编写代码]进行同步
同步完成之后执行:

$ git checkout master
$ git merge --ff-only new-branch

$ git push origin master

6. Code Review

当你 push 到 master branch 后,你的commit会出现在Github的commit页面中,其他小伙伴可以通过点击链接进行review

接受建议之后,回到原 branch 进行修改,使用上述相同的流程

7. 小技巧

如果是很小的修复,你可以直接在本地的master branch进行编辑,然后

git commit -m "[issue #17]"
git push origin master

前提是避免和remote master branch 产生冲突