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 产生冲突