前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >程序员必知:这是一份全面 & 详细的 Git与Github 介绍指南

程序员必知:这是一份全面 & 详细的 Git与Github 介绍指南

作者头像
Android技术干货分享
发布2019-04-18 15:24:22
4300
发布2019-04-18 15:24:22
举报
文章被收录于专栏:Android技术分享

前言

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

目录

1. 关于Git

1.1 简介

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

1.2 对比

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

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

1.3 Git的使用

1.3.1 Git 的安装

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

  1. 获取Mac OSdmg安装文件:获取地址 = google code

请注意访问外国网站

  1. 成功下载后进行安装

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地址

image.png

  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

关于 Git & Github 的联合使用场景还有很多,此处只是讲解最常见的使用场景 & 命令。

END

好了,写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个学习思路及方向,从事互联网开发,不仅需要了解 Git & Github,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。 由于内容较多就只放上一个大概的大纲,需要更及详细的学习思维导图的加群 Android IOC架构设计免费获取。 群内还有免费的高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术资料,并且还有技术大牛一起讨论交流解决问题。

点赞+加群免费获取 Android IOC架构设计

Android高级技术大纲

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 目录
  • 1. 关于Git
    • 1.1 简介
      • 1.2 对比
        • 1.3 Git的使用
        • 2. 关于Github
          • 2.1 简介
            • 2.2 作用(应用场景)
              • 2.2.1 基础应用场景
              • 2.2.2 常用应用场景
              • 2.2.3 额外应用场景
          • 3. Git 与 Github 的联系
          • 4. Git & Github的联合使用场景
            • 场景1:本地修改完代码,需要同步到GIthub
              • 场景2:与其他开发者协作开发
                • END
                相关产品与服务
                云开发 CloudBase
                云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档