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 条评论
登录 后参与评论

相关文章

来自专栏魏艾斯博客www.vpsss.net

WordPress 手动升级更新方法

1484
来自专栏性能与架构

小程序示例 - 不同页面间的消息传递

场景 假设有两个页面:用户列表页、信息编辑页 在列表中点击后某条信息后,进入编辑页面 ? 修改了用户信息后,返回到列表页,列表中需要显示修改后的信息 例如把 “...

3557
来自专栏张泽旭的专栏

Applet小应用程序之间的通讯

1、 首先解压:如何运行applet.zip文件,解压后如图

603
来自专栏草根专栏

Git基本命令 -- 创建Git项目

在这里下载git: https://git-scm.com/ 安装的时候, 如果是windows系统的话, 可以勾选unix的命令行工具, 这样在windows...

2737
来自专栏Python攻城狮

GitHub 系列之「向GitHub 提交代码」1.SSH2.生成SSH key3.GitHub 上添加 SSH key4.Push & Pull5.提交代码

你拥有了一个 GitHub 账号之后,就可以自由的 clone 或者下载其他项目,也可以创建自己的项目,但是你没法提交代码。仔细想想也知道,肯定不可能随意就能提...

612
来自专栏十月梦想

node实现静态资源目录(根目录)

前面也讲述了,nodejs没有web容器,访问使用/filename是无法访问文件的,需要通过路由判断然后fs.readFile读取文件才可以!

702
来自专栏杂烩

一个综合的分布式项目之项目部署 原

    项目打包有很多种方式,不管是eclipse的export还是mvn的package,最终目的就是把编译后的项目丢到服务器的tomcat下。我们要部署代码...

702
来自专栏kevin-blog

ubuntu下安装node版本管理工具NVM

nvm是nodejs的版本管理工具,因为nodejs编译非常麻烦,然后编译上有些又需要不同的版本,nvm就应运而生了,nvm是一个可以让你在同一台机器上安装和切...

850
来自专栏西安-晁州

webpack学习之入门实例

webpack:前端打包神器,目前活跃度甚至超过了gulp、grunt等,使用webpack打包,简单快速,下面记录下webpack环境搭建以及基本使用: 1、...

1800
来自专栏小怪聊职场

爬虫|利用Anyproxy爬取微信公众号文章及临时链接转永久链接

9658

扫码关注云+社区