Github学习文档-2


style: candy

牵手GitHub.jpg

目录

1 GitHub 和 Git 的前世今缘


Git百度百科

你可能会问学习 GitHub 和 Git 有什么关系吗?首先 GitHub 的功能本身就是基于 Git 来实现。现在的问题是 Git 是什么?Git 是一个开源的分布式版本控制系统,简单的来说就是一个强大的版本管理工具,GitHub 因为集成了 Git,所以具有版本管理的功能,在加上自身的社区功能,如订阅,讨论,关注,分享代码片段等。Git 是 Linux 之父—— Linus 两周周写成的(在此默默崇拜大牛5秒钟),最初是为了帮助管理 Linux 内核开发而设计的版本控制软件,这是一款开源的软件。(在这里说一下,开源的意思就是开放源代码,用户可以在遵守项目协议的基础上使用和修改源代码。)版本控制工具可不止 Git,还有 SVN 集中式的版本管理。但与 SVN 相比,Git 的优势是分布式,SVN 是把项目托管到一个中央服务器上,而 Git 则是分布在每个使用者的电脑上的,每个使用者都有项目的所有信息。使用 Git 可以在本地操作 GitHub 上的项目,增删改,操作完了,在推送到 GitHub 上保存。

2 Git 的下载安装


以 windows 环境下安装为例,Linux 和 Mac 系统请自行查找 Git 安装资料

  • 2.1 Git 下载

Git的官方下载地址

下载Git1.png
下载Git2.png

如果你的下载速度较慢,也可以选择去软件应用中心下载,这里也推荐一个百度软件下载中心,但里面的软件不一定是最新的,还是建议在官网上下载的。Git百度软件中心下载

  • 2.2 Git 安装

在 windows 下安装 Git 和安装普通软件一样,你可以更改安装目录,其他的可以按照默认的安装选项,直接点下一步直到安装完成即可,安装完成后鼠标的右键功能表中会增加两个新的选项。

Git安装好后.png

3 Git 的初始配置


  • 3.1 查看安装的 Git 的版本

可以在运行窗口中输入 cmd 进入命令提示符窗口,然后输入 git --version 回车即可显示所安装的 git 版本,也可以进入鼠标右键的 Git Bash Here 选项进入 Git 命令行窗口,输入 git --version 命令来查看版本信息。

  • 3.2 查看 Git 的初始环境变量

在 Git Bash 窗口中输入 git config --global -l //分条查看初始配置信息

Git初始配置信息.png
  • 3.3 配置 Git 的工作环境变量

下面这些环境变量的设置决定了 Git 在各个环节具体的工作方式和行为。比如说配置使用 Git 的用户信息,当然不配置也是可以的。
在 Git Bash 窗口中输入 git config --global user.name "wenshixin" //配置用户名 git config --global user.email "wenshixin23.@163.com" //配置邮箱名,再次查看Git的配置信息。

Git配置后的环境信息.png

另外还可以配置差异检测工具和 Git 默认的文本编辑器,一般 Git 默认的是 Vi 或者 Vim 编辑器,这个配置不常用,这里就不多演示,还有一个地方是 Git 命令行窗口输入的配置,一个是输入光标的设置,一个是在 Git 里中文显示不正常的设置,鼠标右键点击窗体标题栏。

Git的其他配置.gif

中文乱码配置问题
如下图所示,在 Git 里中文是用八进制编码来显示的。

Git中文乱码.png

通过在 Git 命令行中输入 git config --global core.quotepath false ,来修改 Git 的默认文件编码,使中文文件名正常显示,下图为修改过的中文显示。

修正Git中文编码问题.png

4 Git 工作流程


Git工作流程.png
  • 4.1 三个区域

工作区,暂存区,本地版本库。

工作区(workspace):就是你实际写项目的地方,比如可见的文件夹以及文件

暂存区(stage/index):工作区和本地版本库之间的区域,暂存区承担着工作区和版本库之间的“通信”任务,这样的设计为版本控制带来更大的灵活性,工作区的内容先放到暂存区,暂存区会生成索引,或者称为是目录树来记录工作区的修改。由工作区到暂存区只是把工作区的内容做了“跟踪监视”,并没有为其建立版本控制的内容。

本地版本库(local repository):暂存区的内容提交到本地的版本库中,版本库有一个 ./git 的隐藏文件夹来管理这个项目的每次提交,至此,你的项目才是真正的被“管理”起来了,而不只是之前的“监控”了。
关于 Git 的各种命令,在《亲吻GitHub》中会详细说到。

  • 4.2 四种状态

未跟踪状态(untracked):文件还只放在工作区,还没有放到暂存区进行跟踪和监视。
未修改状态(unmodified):没有进行编辑的空白文件
修改状态(modified):对空白文件进行了编辑
暂存状态(staged):文件到暂存区的后即为暂存状态

  • 4.3 Git 的各个区之间的工作流程

这三个区域构成一个循环的工作流程,工作区(workspace)的内容添加(add)到暂存区(stage/index),暂存区的内容再提交到本地版本控制仓库(local repository),工作区又可以切换(checkout)到版本的某一分支。

5 Git 牵手 GitHub

Git结合GitHub.png

之前说到可以在 GitHub 上创建仓库,这个仓库我们称为是远程仓库(remote repository),这和我们刚才说到的本地仓库又有什么关系呢?从上面的图中我们可以看到这个远程仓库有和本地仓库和工作区有联系。

我们通过创建本地仓库对我们的项目施行了管理控制,但这个仓库毕竟是我们硬盘上的文件,还是会有被意外删除和丢失的可能,所以放到远程仓库就很有必要,放在 GitHub 上安全一些,但是有时候在国内访问会有些慢。说明一点,远程仓库也不止 GitHub 一家,国内也有 码云CSDN,但这些在名气上都比不上 GitHub,毕竟 GitHub 是全球性的,这些代码托管平台和 GitHub 在使用上其实相差不大,学会 GitHub,其他平台的使用都是小儿科,笔者也使用了码云这个托管平台,因为有时候 GitHub 真的挺慢。另外远程仓库也提高了我们项目的可携带性,只要在一个连上网的环境,我们就可以从远程仓库拷贝到本地计算机硬盘上,这样也便于分享自己的开源项目,团队合作会在《相守GitHub》中说到的。

知道了这些,我们再来说说 Git 和 GitHub 是如何“牵手”的。本地仓库中的内容可以推(push)到远程仓库,当然这里需要先而让本地仓库和远程仓库建立联系,具体的操作,在《亲吻GitHub》中会说。在本地你可以把远程仓库的内容直接拉(pull)到本地工作区,或者是获取(fetch)和克隆(clone)远程仓库中的内容到本地仓库中,这两种方式的区别,在《相守GitHub》中会说。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,744评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,505评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,105评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,242评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,269评论 6 389
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,215评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,096评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,939评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,354评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,573评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,745评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,448评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,048评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,683评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,838评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,776评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,652评论 2 354

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,659评论 9 163
  • 放不下的温柔 拿不起的守候 就当做我从未给过你 想要的挽留 从此别无他求 只愿你日后 与她白头
    茧子婵阅读 168评论 0 0
  • 日月两盏灯,春秋一场梦。在阳光下,回忆悠长。 花蕊落在台阶,叠成季节的思想,多情的行客背起行囊,去寻找记忆深处的地...
    雲水禅心211阅读 492评论 0 1
  • 01 我的朋友君君,时常向我们哭诉她被领导呵斥的事,时而委屈时而愤怒,动不动就辞职。作为朋友的我们,一开始还会安慰...
    木一贝阅读 1,285评论 9 25
  • 最近迷上了女子的背影,那柔软的发丝,魂牵梦绕啊! 哈哈,言归正传,咱们还是来画画吧。 工具:铅...
    安简子_阅读 541评论 0 4