前言

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

目录

1. 关于Git

1.1 简介

关于 Git 的 定义、应用场景 & 特点请看下图:

1.2 对比

下面,我将 Git与 其他类型的版本控制系统 进行对比:

  • 横向对比(与集中式版本控制系统)
  • 纵向对比(与同类的分布式版本控制系统)
  • 具体对比请看下图

1.3 Git的使用

1.3.1 Git 的安装

此处主要讲解 Mac版的安装:

  1. 获取Mac OSdmg安装文件:获取地址 = google code
  2. 成功下载后进行安装

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上的代码是公开 & 开源的,所以可以很方便的获取、使用 & 学习这些代码 = 优秀的开源项目,如RetrofitPicasso等等
  • 所以,Github已经成为全球最大的开发者开源社区,包括世界闻名的科技公司 、技术佼佼者 & 优秀开源项目。如:
  1. 全世界闻名的科技公司,如

国外
Github地址
国内
Github地址

  1. 全世界闻名的技术佼佼者,如
  • Android之神 - JakeWharton:github.com/JakeWharton 。著名开源库有:OkHttpRetrofitPicasso

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

  1. 优秀项目都优先在 GitHub 上开源,如

语言

Github地址

2.2.3 额外应用场景

  • 面试加分项
    公司 招聘程序猿的标准都非常看中GitHub 账号。若你活跃 & 有自己的开源项目,那么这是很好的面试加分项,对找工作有很大帮助
  • 接触优秀开发者的有效渠道
    因为 Github已经成为全球最大的开发者开源社区,里面活跃着很多顶级科技公司 & 技术姣姣者
  • 搭建个人网站(博客)
    基于 GitHub Pages 搭建的博客,不仅搭建简单,同时还可自定义样式 & 绑定域(bi)名(ge)

此处献上一份基于 GitHub Pages 的博客搭建指南

  • 写作
    基于 MarkdownGitbook,如果你热爱技术协作,那么你一定会喜欢。

至此,关于 Github的相关内容已经讲解完毕。
3. Git 与 Github 的联系

  • 由于 GitGithub的名字 & 功能非常类似,所以很多人会将二者混淆 / 不清楚之间的关系
  • 下面,我将用一张图 揭示二者的关系 & 区别

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

此处只是讲解最常见的使用场景 & 命令。

觉得不错请点赞支持,欢迎留言或进我的个人群651379682领取【架构资料专题目合集90期】、【BATJTMD大厂JAVA面试真题1000+】,本群专用于学习交流技术、分享面试机会,拒绝广告,我也会在群内不定期答题、探讨

git 获取最新代码_程序员必知:这是一份全面 amp; 详细的 Git与Github 介绍指南相关推荐

  1. java 字符串转骆驼命名_程序员必知的Java基础:5条命名规范和8种数据类型归纳...

    原标题:程序员必知的Java基础:5条命名规范和8种数据类型归纳 一.Java命名规范 任何一种语言都有一套针对于语言自身的命名的规范,java也不例外.接下来,我就列举一下java对命名的规范. 下 ...

  2. git 获取最新代码_常用命令之git操作(入门篇)

    Git 是一个本地代码管理的工具.它是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 如今的公司,只要涉及到项目开发的,基本都是用 git 来管理代码.所以,学习和掌握一些基本的 ...

  3. python从键盘输入列表有缺陷_程序员必知的Python陷阱与缺陷列表-阿里云开发者社区...

    代码看起来可以工作,但不是以你"想当然""的方式.如果一段代码直接出错,抛出了异常,我不认为这是陷阱.比如,Python程序员应该都遇到过的"UnboundLo ...

  4. socket同步和异步通信区别_程序员必知必会,同步通信与异步通信,你了解多少...

    我们常常说,分布式系统需要进行解耦操作,解耦操作最简单的就是把现有的系统拆出几个独立的模块,并把这些模块在不同的机器部署起来.虽然说,分布式系统更加健壮,但往往也引入其他问题,其中,最为麻烦的问题之一 ...

  5. 程序员必知的mysql插件_程序员必知的技术官网系列--mysql篇

    mysql 官网 https://www.mysql.com/ 官网布局很简单, 其中常用的两块就是下载和文档这两块, 其中下载没什么可讲的, 本次重点依旧是文档. 首页 mysql 文档导航页 ht ...

  6. java类名遵从法_程序员必知的Java基础:5条命名规范和8种数据类型归纳

    一.Java命名规范 任何一种语言都有一套针对于语言自身的命名的规范,java也不例外.接下来,我就列举一下java对命名的规范. 下面重点来了,准备好了嘛? 1.代码中的命名均不能以下划线或美元符号 ...

  7. java vo命名规则_程序员必知的Java基础:5条命名规范和8种数据类型归纳

    一.Java命名规范 任何一种语言都有一套针对于语言自身的命名的规范,java也不例外.接下来,我就列举一下java对命名的规范. 下面重点来了,准备好了嘛? 1.代码中的命名均不能以下划线或美元符号 ...

  8. 优先深度搜索判断曲线相交_程序员必知的十大基础实用算法之-DFS(深度优先搜索)...

    深度优先搜索 深度优先搜索是一种在开发爬虫早期使用较多的方法.它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件) .在一个HTML文件中,当一个超链被选择后,被链接的HTML文件 ...

  9. 专业程序员必知必会技巧:驯服复杂代码

    感悟:虽然不想做一个程序员,但还是自做这些事情!艺术家首先是工匠!多美妙的哲理,可是路途漫长而很多人选择了放弃,我也想放弃了.更重要的是,如果希望是一个艺术家,首先是一个NB的工程师. 原文链接:ht ...

最新文章

  1. 疯狂的消化之旅|消化系统简介
  2. OrgChart 组织架构与PHP结合使用
  3. 417 Pacific Atlantic Water Flow 太平洋大西洋水流
  4. Windows 全局钩子 Hook 详解
  5. db2界面调用存储过程_第三章 操作系统用户界面
  6. 如何解决Macbook pro无法写入U盘的问题
  7. jenkins添加linux作为slave
  8. html双箭头菜单,CSS常用样式之绘制双箭头的示例代码
  9. java 标识符_java标识符的基础知识
  10. 不止是替代 看南天信息与浪潮的金融国产化实践
  11. 48. action 与 filter 的执行流程
  12. asp.net执行js出现“已终止操作”的解决方法
  13. android手机 办公软件,Android手机办公软件推荐:WPS移动版(Kingsoft Office)
  14. TFTPD32不能传输数据的解决与尝试
  15. 回归模型+自变量和因变量之间的关系、回归模型的种类、回归模型的输出类型、个数角度
  16. 腾达便携无线路由 无法建立到192.168.2.1的服务器连接,Tenda腾达路由器5G信号设置步骤...
  17. 从今往后,IBM的未来将交给一个印度裔老头儿
  18. python惰性求值例子_惰性求值和yield-Python
  19. matlab multiply,MATLAB Matrix Multiply Code效率
  20. 【STL容器讲解—deque】

热门文章

  1. 使用百度UMeditor富文本编辑器,修改自定义图片上传,修改源码
  2. 软件的可扩展性与框架的可交互性
  3. Linux学习:Linux基础命令集(2)
  4. 安装配置ASMlib驱动
  5. jquery cookie的用法
  6. Linux改变文件和目录权限-chmodchown
  7. 如何评价 IBM 收购 Blue Box 集团
  8. 作为程序员,你怎么看待16岁女生产子?
  9. 你能打动客户的C++理由,一定要先说服自己相信
  10. 工作之余,如何再赚一份收入?