前言
-
如果你从事 互联网技术研发,那么你一定需要 了解
Git
&Github
-
本文将采用 图 & 表的方式,向你全面介绍
Git
与Github
,包括其功能、应用场景 & 之间的关系,希望你们会喜欢。
目录

1. 关于Git
1.1 简介
关于 Git
的 定义、应用场景 & 特点请看下图:

1.2 对比
下面,我将 Git
与 其他类型的版本控制系统 进行对比:
-
横向对比(与集中式版本控制系统)
-
纵向对比(与同类的分布式版本控制系统)
-
具体对比请看下图

1.3 Git的使用
1.3.1 Git 的安装
此处主要讲解 Mac
版的安装:
- 获取
Mac OS
的dmg
安装文件:获取地址 = google code
请注意科学上网
- 成功下载后进行安装
a.
git
会被安装到/usr/local/git/bin
目录下
b. 可在Mac
终端上输入Which git
确认,下图即为成功安装

- 注:
Git
的本身不具备图形界面,一般只能在终端输入命令进行Git
的使用
也可安装
Git
的图形化相关软件,具体请看Git图形化界面客户端大汇总
1.3.2 Git 的具体使用
关于Git
的具体命令使用请看下图:(请收藏好了!)

-
至此,关于
Git
的介绍完毕 -
接下来,我想将继续介绍 与
Git
非常相关的Github
。
2. 关于Github
2.1 简介
关于 Github
的 定义、功能 & 特点请看下图:

2.2 作用(应用场景)
-
Github
由于其具备 “远程” & “代码开源”的特点,所以它的应用场景会比Git
丰富得多 -
下面,我将用一张图 列举
Github
的应用场

下面,我将详细介绍Github
的应用场景
2.2.1 基础应用场景
基础应用场景同 Git
,此处不作过多描述。
2.2.2 常用应用场景
a. 多人协同开发
由于代码存放在远程 & 公开,所以适用于多人协作开发同一份代码

b. 获取、使用 & 学习优秀的开源项目
-
由于存放在
Github
上的代码是公开 & 开源的,所以可以很方便的获取、使用 & 学习这些代码 = 优秀的开源项目,如Retrofit
、Picasso
等等 -
所以,
Github
已经成为全球最大的开发者开源社区,包括世界闻名的科技公司 、技术佼佼者 & 优秀开源项目。如:
- 全世界闻名的科技公司,如
国外
Github地址
国内
Github地址

- 全世界闻名的技术佼佼者,如
-
Android
之神 -JakeWharton
:github.com/JakeWharton 。著名开源库有:OkHttp
、Retrofit
、Picasso
等

-
Linux
发明者Linus Torvalds
:github.com/torvalds

- 优秀项目都优先在
GitHub
上开源,如
语言
Github地址

2.2.3 额外应用场景
-
面试加分项
公司 招聘程序猿的标准都非常看中GitHub
账号。若你活跃 & 有自己的开源项目,那么这是很好的面试加分项,对找工作有很大帮助 -
接触优秀开发者的有效渠道
因为Github
已经成为全球最大的开发者开源社区,里面活跃着很多顶级科技公司 & 技术姣姣者 -
搭建个人网站(博客)
基于GitHub Pages
搭建的博客,不仅搭建简单,同时还可自定义样式 & 绑定域(bi
)名(ge
)
此处献上一份基于
GitHub Pages
的博客搭建指南
-
写作
基于Markdown
的Gitbook
,如果你热爱技术协作,那么你一定会喜欢。
至此,关于 Github
的相关内容已经讲解完毕。
3. Git 与 Github 的联系
-
由于
Git
与Github
的名字 & 功能非常类似,所以很多人会将二者混淆 / 不清楚之间的关系 -
下面,我将用一张图 揭示二者的关系 & 区别

4. Git & Github的联合使用场景
-
本地的
Git
& 远程的Github
会经常联合使用 -
下面我将列举一些二者联合使用的常见场景 & 对应指令
场景1:本地修改完代码,需要同步到GIthub
<--步骤1:本地上传 -->
// a. 进入存放代码文件夹
cd xxxx(路径)
// b. 添加到缓存区(注add 与 . 之间有空格
git add .
// c. 提交
git commit -m "备注内容"<--步骤2:同步到Github -->
git push
// git push origin master
场景2:与其他开发者协作开发
<-- 此处关于大量的主支、分支应用-->
// 创建分支
git branch
// 查看分支
git branch
// 切换分支
git checkout
// 合并某分支到当前分支
git merge
// 删除分支
git branch -d
// 多人协作开发的场景有很多,此处仅列举2个作为实例<-- 实例1:其他开发者向你代码仓库提交了代码,您需要用最新的代码 -->
// 1. 先去GitHub
接受请求
// 2. 进入本来仓库的文件夹
cd xxxxx(路径)// 3. 从Github上远程同步代码到本地
git pull
// git pull origin master<-- 实例2:其他开发者在你的Github仓库上更新了文档,本地需要上传代码 -->
// 注:本地需先同步远程Github上的代码
// 1. 进入仓库的文件夹
cd xxx(路径)// 2. 同步Github上的代码
git pull
<-- 异常操作处理 -->
press "i"
write your merge message
press "esc"
write ":wq"
then press enter// 3. 本地上传代码
// a. 添加到缓存区
git add .
// b. 提交
git commit -m "备注内容"// 4. 同步到Github
git push
关于 Git
& Github
的联合使用场景还有很多,此处只是讲解最常见的使用场景 & 命令。
END
好了,写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个学习思路及方向,从事互联网开发,不仅需要了解 Git
& Github
,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。
由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的加群 Android IOC架构设计免费获取。
群内还有免费的高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术资料,并且还有技术大牛一起讨论交流解决问题。
点赞+加群免费获取 Android IOC架构设计

网友评论