如果只是使用Clone不能称得上是完全使用了GitHub,必须完成PullRequest,而且最好是对大型、带自动构建项目进行PR(比如OpenCV),这样才叫完全掌握GitHub的使用方法,这里分享一些经验,针对的就是OpenCV,也包括本地使用的一些技巧。
1、工具的选择
windows平台上,两类工具:


应该都能够完成任务,各有优点。考虑到网络问题,我目前采用前者处理本地程序,相对来说使用简单、需要版本控制的东西也比较简单,毕竟都是自己写的东西;后者处理大型网络程序,毕竟是官方提供的。这篇博客以后者为主,写博客的时候还发现了一个编携版 https://github.com/daemondevin/GitHubDesktopPortable

即使本地来看,也非常方便。

内容非常丰富。
这里说到网络问题,使用GIT的时候,最好配置网络,提升Github访问速度
a.记事本打开:
C:\Windows\System32\drivers\etc\hosts
b.最末尾添加两句话:
151.101.72.249 http://global-ssl.fastly.Net
192.30.253.112 http://github.com
添加完成后如下截图
c.重新打开Github,试试速度是不是跟之前相比的访问速度飞起来了~
2、Fork
这项工作可以直接在网站上完成,需要注意的是它的网站也是提供了非常强大的功能。
3、Fetch(clone)
可以使用网站直接下载,也可以在软件里面实现:

但是仅仅是clone,绝对不是会使用GitHub
4、push
正好结合新版本的GOCW来说明问题
创建新项目

选择提交

注意画勾的地方

我想修改它的说明文件:

修改修改,使用的是markdown
最后,自己的文件可以直接merge到主程序中,这是显而易见的。

网络上的程序有修改后,可以直接

将最新的东西拉下来,还是比较方便的。
5、Pull Request
为大型项目PR的个中疾苦目前不讨论,我们主要看一下流程。
创建特性分支

做一些修改

在特性分支下,点击publish_branch
然后就可以在master里面进行merge

还是需要网站的操作。
此外,
这个软件还是很不错的,不知道是否开源,目前没有找到。
