好代码是管出来的——使用GitHub
前面的文章介绍了Git的基本概念和用法,本文则是基于GitHub的一个实践介绍,主要内容有:
GitHub简介
GitHub是一个Git的远程代码托管平台,它除了提供代码托管外,还提供了如问题发布、pull request、报表统计等功能,下图为EFCore项目的贡献者统计信息:
GitHub提供了一整套远程协作的解决方案,所以是开源项目的首选平台,许多知名项目都托管在GitHub上。
GitHub可以免费的创建自己的开源代码仓库,同时有付费服务,如私有仓库、GitHub的企业解决方案等。
个人与组织
GitHub中提供了个人仓库和组织仓库,分别适合个人开源项目以及组织开源项目。
个人仓库主页:
组织仓库首页:
创建组织:
填写组织信息:
仓库的创建与维护
1.创建一个仓库(个人和团队仓库创建类似,下图是团队仓库)
2. 仓库的维护:
针对每一个仓库,GitHub提供了代码管理(Code)、问题管理(Issues)、拉请求(Pull Request)、项目管理(Projects)、百科(Wiki)、统计(Insights)、仓库设置(Settings)功能,通过这些功能可以对代码仓库进行维护:
Fork与Pull request
Fork和Pull request是GitHub上完成代码共享的核心功能,下面就介绍如何使用Fork和Pull Request完成代码贡献:
1. 将贡献目标仓库Fork到自己的仓库中:
2. 获取Fork后的仓库,获取并对代码进行修改最后推送到远程分支(直接使用master分支):
修改代码后将修改的内容推到远程仓库:
注:更多使用Git的内容参考:《好代码是管出来的——使用Git来管理源代码》以及《好代码是管出来的——Git的分支工作流与Pull Request》。
3. 发起Pull Request:
创建新的pull request将会显示以下信息(代码由SelimTeam仓库合并到yqszt的仓库、代码是可合并的以及代码差异信息):
当点击“Create Pull Request”按钮后,该请求将会被创建。
4. 处理Pull Request:
yqszt/MyBlog库拥有者,可以在pull request选项卡中看到相应的信息并进行合并:
文件差异:
合并Pull Request:
合并结果:
小结
本文介绍了如何使用GitHub来个人/团队代码仓库,对于一个GitHub仓库来说除了提供基础的代码版本管理功能以外还提供了问题管理、项目管理、百科、拉请求、数据统计等功能,仓库的拥有者(开发者)可以使用GitHub进行项目管理、代码管理,还可以将相关知识通过百科进行发布,以便于项目的受益者、贡献者能够快速获得项目信息,而贡献者除了可以通过Wiki获取信息外,还可以Issue、Pull Request对项目提出疑问或进行贡献,拥有者和贡献者所有的沟通都可以通过Github来完成。
另外Github的fork与pull request实际上就是上一篇文章中提到的“集成管理者工作流”的实现,其中在对pull request的代码进行合并时,实际上还强制进行了代码审查,这种工作流模式即适合本地的开发团队,也适合开发人员来自世界各地的开源项目。
从这些方面看来Github不再是一个简单的Git远程仓库托管平台,而是一个分布式的软件开发管理解决方案。
PS:Github被微软收购,今后Github又会与.Net生态圈擦出什么样的火花?拭目以待。
本文链接:https://www.cnblogs.com/selimsong/p/9135514.html
好代码是管出来的——浅谈.Net Core的代码管理方法与落地(更新中...)
好代码是管出来的——使用GitHub的更多相关文章
- 给大家推荐一款高大上的代码高亮插件(sublime,github风格)——highlight.js
经常在一些大神博客里面看到非常好看的高亮代码,有sublime风格,GitHub风格等等.毫无疑问,好的高亮代码插件可以不仅仅让你的博文显得更高大上,更重要的是舒适的阅读体验.经过我在网上的一番搜罗, ...
- Git学习(2)-使用Git 代码将本地文件提交到 GitHub
上次随笔写到git的安装和运用命令窗口创建本地版本库,这次主要讲一下用git代码将本地文件提交到GitHub上. 前提是有一个GitHub账号. 1.创建一个新的版本库,进入到你本地项目的根目录下(我 ...
- 使用pycharm开发代码上传到GitLab和GitHub
使用pycharm开发代码上传到GitLab和GitHub 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我这里主要是针对局域网的自减的GitLab服务器,python开发工程师如 ...
- 将本地的代码推送到公网的github账号去
将本地的代码推送到公网的github账号去 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近工作上需要用到github账号,拜读了一位叫廖雪峰的大神的文档,把git的前世今生说的 ...
- iOS:使用Github托管自己本地的项目代码方式二(客户端方式: Github Desktop)
管理代码的地方主要有:Github(国外流行).CocoaChina.Cocoa4App.中国开源社区.CSDN.博客园.简书等等..... 前面已经介绍了如何使用命令行和Xcode将本地代码上传到G ...
- github:当你想要使用VSCODE开心提交代码时,出现Git:git@github.com:Permission denied(publickey)解决方案
当你想要使用VSCODE开心提交代码时,出现Git:git@github.com:Permission denied(publickey)弹框 图片: 原因:电脑公钥(publickey)未添加至gi ...
- API Studio 5.1.2 版本更新:加入全局搜索、支持批量测试API测试用例、读取代码注解生成文档支持Github与码云等
最近在EOLINKER的开发任务繁重,许久在博客园没有更新产品动态了,经过这些日子,EOLINKER又有了长足的进步,增加了更多易用的功能,比如加入全局搜索.支持批量测试API测试用例.读取代码注解生 ...
- 原创炫酷代码公开——连接董铂然github
公开了github部分项目(均为原创)更多代码请看https://github.com/dsxNiubility SXWaveAnimate Wonderful SXPhotoShow SXNews ...
- 好代码是管出来的——使用GitHub实现简单的CI/CD
软件开发一般来说是一项团队作业,在本系列文章开始就提到过软件的编码是由一个团队“并行”完成的,为了保证编码任务正常完成,首先引入版本控制工具来完成代码管理,为了保证代码质量引入了代码分析器以及代码测试 ...
随机推荐
- javascript入门篇(五)
将日期转换为数字 全局方法 Number() 可将日期转换为数字 d = new Date(); Number(d) // 返回 1404568027739 日期方法 getTime ...
- Hello World 程序的起源与历史
这是一个最著名的程序.对每一位程序员来说,这个程序几乎是每一门编程语言中的第一个示例程序.那么,这个著名的程序究竟从何而来呢? 实际上,这个程序的功能只是告知计算机显示 Hello World 这句话 ...
- 解决ruby安装后无法添加淘宝gem源------------学习记录
使用sass ,需要安装ruby,会建议移除gem源,添加淘宝的gem源,但是淘宝的镜像源已经停止维护啦!!用https://gems.ruby-china.com 代替即可. 操作如下: 1)删除原 ...
- 好看又能打的CRM系统大比拼:Salesforce, SugarCRM, Odoo等
介绍 今天的CRM市场提供了大量的解决方案和软件替代品.有些适合大型企业(通常需要内部托管),而其他企业则更多地应用于SME的需求(通常使用云托管解决方案). 在CRM解决方案方面,提供商必须调整其产 ...
- Android values资源的定义
Android values资源是Xml格式的文件 上图定义了颜色(colors)字符串(strings)样式(style)三个资源文件 xml文件写在resources标签里 <?xml ve ...
- winfrom SVG转Imge
svg矢量图的使用,将svg矢量图展示在pictureBox上,拖动可以应用到其他设计软件上,复杂一点,中间涉及到SVG的下载 以及 SVG转化为 图片等操作 效果图如下: 源码下载地址: htt ...
- C#异步编程----Thread
一.问题由来 多线程能实现的基础: 1.CPU运行速度太快,硬件处理速度跟不上,所以操作系统进行分时间片管理.这样,宏观角度来说是多线程并发 ,看起来是同一时刻执行了不同的操作.但是从微观角度来讲,同 ...
- C# 三种打印方式含代码
一:C#代码直接打印pdf文件(打印质保书pdf文件) 引用: 代码注释很详细了. private void btn_pdf_Click(object sender, RoutedEventArgs ...
- vscode创建net core控制台程序
vscode近来深受的开发人员的喜爱.在下的前端同事们也纷纷使用vscode.在下就想了我等后端程序员也可以用vscode写C#代码.毕竟是从宇宙第一IDE ----Visual Studio衍生的 ...
- 【Hadoop篇】--Hadoop常用命令总结
一.前述 分享一篇hadoop的常用命令的总结,将常用的Hadoop命令总结如下. 二.具体 1.启动hadoop所有进程start-all.sh等价于start-dfs.sh + start-yar ...