Git与通过Git添加提交文件

HTML5学堂-利利:前面几个礼拜,我们比较全面的介绍讲解了关于AJAX中相对比较高级的知识 - 跨域。本周周三的文章,想为大家介绍一款工具——Git。如果开发者们有进入大公司的发展的想法,这种工具是必不可少的。相信我们做开发的朋友们,SVN必然会接触,对于大公司来说,SVN略low,它们使用的通常是Git —— 分布式版本控制系统。

今日内容:

1 Git是什么

2 Git(分布式)与SVN(集中式)的区别

3 Git的安装与环境配置

4 在Git中进行版本创建

Git是什么?

Git:分布式版本控制系统。

关于版本控制系统,可能之前听说过,也有不少人在使用(比如SVN),但是Git与其他的一些控制系统有所不同。

SVN属于“集中式版本控制系统”,而Git是“分布式版本控制系统”。

集中式与分布式有什么区别?

集中式的工作原理:

所有的客户端都直接与服务器联系,而彼此不互通(在最后,利利绘制了图解,如果不能理解文字,可以翻到最后看图)

集中式的特点

  1. 集中式的版本控制系统要求必须联网;
  2. 在集中式的版本控制系统当中,中央服务器就好比是一个图书馆,如果我们希望修改一本书,就需要先将书借走,在修改之后,再放回图书馆。
  3. 相对安全性会比较低,一旦中央服务器出现问题,所有人都没法干活了

分布式的工作原理

所有的客户端都可以互相联系,同时任意一个客户端都可以作为一个服务器(在最后,利利绘制了图解,如果不能理解文字,可以翻到最后看图)

分布式的特点

  1. 工作时不需要联网,因为版本库就在每个人的电脑上。
  2. 当多个开发者都修改了同一个文件,那么这几个人只需把各自的修改推送给对方,就可以互相看到对方的修改了。
  3. 安全性高,每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一份就可以了。

PS:很少在两人之间的电脑上推送版本库的修改,通常会将其中一台机器作为服务器,这样操作的主要原因是方便“交换”大家的修改。当然,如果我们没有“创建”服务器,也并不会影响版本的互相“交换”。

Git的安装

在安装的过程中,大部分都是采用默认状态,除了如下几个操作之外:

  1. 修改文件路径:默认的存储位置是C盘,如果你不希望Git被安装在C盘就自定义一下喽~
  2. 选择可以使用哪种操作方法进行Git的操作

Git有两种操作方法,一种叫做Git Bash;表示的是windows下的命令行工具;一种叫做Git GUI;表示的是windows下的图形化页面。选择下图中的第二项,表示的是两种操作方法都进行安装。

检测是否安装成功

如果安装成功,当使用鼠标右键点击桌面时,菜单当中会出现两个新的选项,如图:

定义自己机器的基本信息

在Git的协作过程当中,每个机器都应当有自己的信息,这样才能够知道每次修改是谁在进行操作。

定义Git基本信息的方法命令

点击右键,选择菜单中的“Git Bash Here”,调出命令对话框

$ git config --global user.name "HTML5学堂"
$ git config --global user.email "email@example.com"

--global参数:用于表示全局,使用了这个参数,则表示当前机器上所有的Git仓库都会使用这个配置

在Git中进行版本创建

找到要创建版本库的文件夹

找到你需要生成版本的地方,然后,在该目录下点击右键,调用Git Bash here

打开运行窗口之后,能够从命令窗中看到路径“/u/Git_test h5course”

相关命令

$ mkdir 文件夹名
$ cd 路径
$ pwd

$ mkdir 文件夹名。代码说明:mkdir表示的创建一个文件夹。如果我们希望,在当前的路径“/u/Git_test h5course”下,创建一个名为“h5”的文件夹,那么输入如下命令:“$ mkdir h5”

$ cd 路径。代码说明:cd表示的是路径,通过cd 路径,进行当前路径的变化。比如当我创建h5文件夹之后,希望能够进入这个文件夹进行操作,就输入“$ cd h5”即可。如果想从当前路径返回到上一级,则使用“$ cd ../”即可。

$ pwd。代码说明:该命令的主要作用,是用来显示当前目录。

将目录变成Git可管理的仓库

通过git init命令把这个目录变成Git可以管理的仓库

PS:当前目录下多了一个.git的目录(默认是隐藏状态),这个目录是Git来跟踪管理版本库的,不要随意手动修改这个目录里面的文件,否则Git仓库可能会被破坏。

添加并提交文件

在当前的仓库当中,可能有一些文件我们需要添加到版本库当中,有些文件我们不需要添加到版本库当中,在这个里面,我们使用add和commit命令进行操作。

第一步,需要在当前的仓库下运行(也就是使用了init命令时的文件目录,在这个实例当中是“/u/Git_test h5course/h5”)

在当前的仓库下,创建一个html文件,比如index.html

第二步,将该文件通过git add方法添加到仓库当中

$ git add 文件名

第三步,将该文件通过git commit方法,告诉Git,并把文件提交到仓库

$ git commit -m 说明信息

代码说明:-m后面输入的是本次提交的说明,就如同我们每次提交SVN时的“注释”一样,可以不写,但是建议书写。

git commit命令执行成功后会告诉我们,有1个文件被改动(我们新添加的index.html文件),并且插入了11行内容(index.html中有11行的内容)。

Git知识小结

HTML5学堂-利利:今天的内容就讲到这里吧,接下来我们整理一下思路。

  1. Git是一种分布式版本控制系统
  2. 其主要优势在于“不需要联网”、“安全性高”以及“强大的分支功能(这方面以后我们会介绍到)”
  3. 使用git config进行机器基本信息的配置
  4. 使用mkdir、cd、pwd等命令,找到需要创建成“版本仓库”的地址(路径)
  5. 使用init,将该目录定义成Git可以管理的仓库
  6. 使用add、commit命令,实现向仓库当中添加、提交文件

HTML5小编-利利 耗时7小时

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2016-05-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

Nmap扫描对比工具–libnmap实践

帮朋友写一个nmap端口扫描然后与上次扫描进行对比的工具,与crontab结合定期扫描,保存对比数据。 google搜索了一下相关的模块,在freebuf上看到...

1936
来自专栏Web 开发

PHP爬虫

使用PHP Simple HTML DOM Parser这个库,然后自己对DOM选择器做一下二次封装,基本上可以应付一部分WordPress站点。

700
来自专栏木子昭的博客

OneTab一键分享Chrome当前打开的所有标签页

当你发现自己有太多的标签页时,单击OneTab图标,所有标签页会转换成一个列表,当你需要再次访问这些标签页时,点击OneTab图标唤出列表,点击列表恢复标签页

873
来自专栏令仔很忙

Nginx虚拟主机配置

虚拟主机就是使用特殊的软硬件技术,把一台计算机主机分成多台“虚拟”的主机,每一台虚拟主机都具有独立的域名和IP地址(或共享的IP地址),具有完整的Intern...

612
来自专栏大数据平台TBDS

kafka如何彻底删除topic及数据

删除kafka topic及其数据,严格来说并不是很难的操作。但是,往往给kafka 使用者带来诸多问题。项目组之前接触过多个开发者,发现都会偶然出现无法彻底删...

1.6K7
来自专栏猿天地

hbuilder 开发5+ APP采坑记录

开发一款APP产品需要在安卓和苹果2大平台发布,同时开发团队也需要有安卓和IOS。 HTML5 Plus移动App,简称5+App,是一种基于HTML、JS、C...

4629
来自专栏知晓程序

如何获取小程序的 AppID,并关联公众号?| 小程序问答 #23

小程序管理员进入公众平台、使用小程序帐户登录后,点击左侧菜单中的「设置」,在「开发设置」一项,就可以查询到小程序的 AppID。

782
来自专栏Crossin的编程教室

【Git 第3课】 安装Git

要用Git,首先肯定要安装它。简要说一下Win,Mac和Linux三种平台的安装方法。 Windows Git的官网(http://git-scm.com)提供...

3347
来自专栏小夜博客

Crontab自动记录服务器负载

3259
来自专栏王磊的博客

Visual Studio扩展工具添加与卸载

简介:vs 作为主流的开发工具之一,其强大的功能无可厚非,但日益增加的需求就使得vs的扩展工具成为优秀dev所必备的利器之一。 Visual Studio扩展工...

3396

扫描关注云+社区