【Git&Github系列】认识Git与GitHub
认识Git与GitHub
〇、前言
- Git与GitHub是当下程序员的必备工具之一,当一个项目涉及到团队协作完成或者升级更新,不可避免地要使用版本控制,而Git与Github是当下使用范围最广的版本控制以及开源工具。
- 本文就Git与GitHub的基础知识进行简要介绍,面向初学者。
一、什么是Git
1.1 Git介绍
- Git 是一个开源的、免费的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,由Linux发明者Linus Torvalds 开发,最初目的是管理 Linux 内核开发。
- Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
1.2 版本控制
版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。
- 记录文件变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地记录下来。每一次文件的改变,文件的版本号都将增加。
- 并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。并行开发中最常见的不同版本软件的错误(Bug)修正问题也可以通过版本控制中分支与合并的方法有效地解决。
二、什么是GitHub
- GitHub是基于Git进行版本控制的软件源代码托管服务平台,是目前世界上最大的代码存放网站和开源社区,2018年6月被微软公司收购。
- GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开或私有的代码仓库,但付费用户支持更多功能。
- 允许个人和组织创建和访问保管中的代码以外,它也提供了一些方便社会化共同软件开发的功能,即一般人口中的社群功能,包括允许用户追踪其他用户、组织、软件库的动态,对软件代码的改动和bug提出评论等。GitHub也提供了图表功能,用于概观显示开发者们怎样在代码库上工作以及软件的开发活跃程度。
注:以上介绍参考维基百科GitHub
三、Git与GitHub关系
- Git是开源的版本控制系统;
- GitHub是提供基于Git的代码版本托管服务的平台;
- Git是工具,用于构建和操作代码仓库;GitHub是平台,提供远程仓库服务,它使用Git作为工具。
- 看到【知乎】上有人说是魔兽争霸-对战平台/USB-USBhub的关系。
四、GitHub基本名词及概念介绍
示例项目截图:
-
Used by
直译【被···使用】。2019年新推出的功能。该功能可以查看正在使用该开源项目的项目列表,并且还列出了该项目的安装命令,可以直接复制命令到终端进行安装。 -
Watch
直译【观察】。你watch某个项目后,若该项目有更新,系统会向你发送通知。 -
Star
直译【点亮一个小星星】,即点赞。 -
Fork
直译【分叉】。如果你想要对某个项目进行修改(修复bug,增加功能等),可以点击该项目的fork按钮,你的主页就会添加一个相同的repository,但是会标明forked from xxx。然后,你就可以适应自己的要求进行改进。 -
Code
直译【代码】。项目源码,通常会有readme。 -
Issues
直译【问题】。如果你对项目有疑问或者发现了Bug,可以新建一个issue。项目的拥有者会对项目进行查看和解决。closed代表已解决,open则代表未解决的问题。 -
Pull request
直译【拉取请求】。此功能承接Fork功能,当你fork某个项目并对其进行改进后,想要将成果并入原有项目(forked from)与其他人共享,你就需要使用Pull request。你新建一个pull request,项目的原作者会对你的修改进行审核,审核通过后,你的改进会被合并入原项目,而你成为项目的贡献者之一。 - Wiki
Wiki是在万维网上开放,且可供多人协同创作的超文本系统,由沃德·坎宁安于1995年首先开发。沃德·坎宁安将wiki定义为“一种允许一群用户用简单的描述来创建和连接一组网页的社会计算系统”
以上介绍引自维基百科。
一般我们使用readme.md来编写项目文档,当项目文档比较长的时候,阅读体验可能就不是那么理想,GitHub 每一个项目都有一个独立完整的 Wiki 页面,我们可以用它来实现项目信息管理,为项目提供更加完善的文档。
-
Branch
直译【分支】。一个分支相当于一个版本,可以在该分支上进行开发而不影响原分支,开发完成后合并即可。