3. 要将这两次提交生成“pull request”:
使用git request-pull命令生成拉请求信息:
git request-pull -p 5bf2e35 https://github.com/SelimTeam/MyBlog.git master
其中p代表输出详细内容(代码的差异),5bf2e35对应的是提交的hash,代表更新的内容是从哪一个提交开始,url代表的是贡献者的仓库地址,最后的master代表更新内容结束的提交,默认是分支的最新提交。
4. 将pull request信息告知作者,作者将会知道贡献者的仓库地址、分支、从哪一个提交开始、哪一个提交结束,并且带有详细的变更信息。
注:这里的告知是通过邮件等方式将上面request-pull命令生成的信息发送给作者,github等平台上提供的pull request功能是由平台自己实现的通知方式,关于github上的pull request后续介绍。
5. 作者添加贡献者的远程仓库,获取并将更新合并到主分支:
git remote add selimteam https://github.com/SelimTeam/MyBlog.git
git fetch selimteam master
git diff master selimteam/master
git merge selimteam/master
git push
以上就完成了一次通过pull request像作者贡献代码的流程。
从上一篇文章开始都是介绍如何通过命令行的方式使用Git进行代码管理,但在前面的文章中就提到过Git除了原生的命令模式还有GUI模式,GUI主要是针对Git的命令进行封装然后提供了一些更便利的功能来简化使用、提高开发效率。
Git中常用的GUI工具有以下几种:
SourceTree:一个开源的Git GUI工具,有一个重要的点是它提供了对git flow的支持。
https://www.sourcetreeapp.com/
安装参考:https://www.cnblogs.com/cheese320/p/8876782.html
GitHub For Desktop:GitHub的GUI客户端,可以通过它直接提交pull request(GitHub的PullRequest)。
Visual Studio:VS在团队资源管理器中集成了Git的支持,可以在修改完成代码后便捷的进行代码的提交、push等操作。
Git的GUI工具有很多,可以通过该链接查找:https://git-scm.com/download/gui/win
小结 本文主要介绍了Git分支和Git的工作流,Git的工作流分为两个方面“分支工作流”和“分布式工作流”,两种工作流是混合在一起使用的,前者是用分支对代码进行隔离,后者使用多个远程库以及Pull Request解决了分布式开发、合并的问题。
文章的最后介绍了常用的Git GUI工具,在实际开发中选择适合的GUI工具可以大大的提高开发效率。