作为当下最流行的版本控制系统,Git是一个分布式版本控制系统,跟SVN等集中式版本控制有很多使用上的不同。万事开头难,想要最快学会使用Git,最简单的就是下了客户端就直接去用,一边用一边学。本文手把手教你从对Git一无所知,到简单使用。

  转载请注明出处http://www.cnblogs.com/zrtqsk/p/3762489.html,谢谢!  

一、安装

  这里假设你跟楼主一样使用Windows系统,首先当然是去下载一个Git客户端,Git在Windows下的客户端叫做msysgit,下载地址为code.google.com/p/msysgit/或http://msysgit.github.com/,下完直接安装就好了。

  git官网建议不要用windows命令行来直接使用git,而是建议使用安装包下的Git Bash这个快捷方式打开的git命令行。

二、使用前配置

  Git 提供了一个叫做 git config 的工具,专门用来配置Git,即用来操作Git配置文件。Git配置文件存在3个地方(对应不同作用范围):

1 . /etc/gitconfig 文件:包含了适用于系统所有用户和所有库的值。如果你传递参数选项’--system’ 给 git config,它将明确的读和写这个文件。

  (/指的是你Git的安装目录)

2 . ~/.gitconfig 文件 :具体到你的用户。你可以通过传递--global 选项使Git 读或写这个特定的文件。

  (~指的是你的用户目录,对应你电脑的用户名主目录,即C:\Users\Administrator,楼主的就是这样!)

3 . 位于git目录的config文件 (也就是 .git/config) :无论你当前在用的库是什么,特定指向该单一的库。每个级别重写前一个级别的值。因此,在.git/config中的值覆  盖了在/etc/gitconfig中的同一个值。

  (.git/config 指的是当前目录git下的配置文件)

  然后我们在就开始配置我们的信息。

  首先要配置我们的用户名和Email地址,用来验证你自己个人信息,配置很简单:

  打开git命令行,以下是楼主的输入:

  

  如上,用户名用引号括起,而邮箱不用。

  而查看配置则非常简单,输入git config --list就够了,看楼主的输入:

  

  怎么样,非常简单是吧。

三、取得项目的Git仓库

1、如果希望在将本机的某个目录新建为Git仓库,该怎么做呢?

  非常简单,首先我们要使用Git命令行,将当前目录移到我们所希望建为Git仓库的本机目录。实现这个操作,当然是用cd命令了。

  楼主是这么做的:

  然后就可以看到,命令行变成了这样:

  

  然后在当前目录下使用

我们希望当前目录下所有文件都纳入版本控制,那就只需要执行

2、如果我们希望从服务端已有的Git仓库复制到本地,该怎么做呢?

  非常简单,同样我们首先用cd命令将当前目录移到我们希望服务端项目复制到的地方,然后使用git clone 【url】

  (当然了,前提是你得先去注册一个远程服务器仓库)

  楼主是这样做的:

  

  然后,它需要楼主输入服务端用户名和密码,输入后,显示如图:

  

  结束后,服务端的文件都拷贝到本地了,同时服务端目录出现了一个.git的隐藏文件。

  

四、代码修改、上传

1、要确定哪些文件当前处于什么状态,可以用 git status 命令。如果在克隆仓库之后立即执行此命令,会看到类似这样的输出:

  

  表明当前目录文件从未被更改过。且当前分支是默认分支——master。

  我们现在修改某个文件,然后再使用git status命令,就可以看到如下的输出:

  

  即:分支master下,“Changes not staged for commit”说明已跟踪文件的内容发生了变化,但还没有放到暂存区。

2、要暂存这次更新,需要运行 git add 命令,我们暂存所有文件,再使用git status查看状态,如下:

  

  文件为暂存状态。(这个后文会讲)

 

3、提交更新使用git commit命令

  输入

 

  这是我们提交更新时,自动启动了文本编辑器Vim以便输入本次提交的说明,即注释.

  如图左上角有一个白色光标跳动的时候,文本输入器是属于命令状态。我们输入 i 就可以发现左上角的光标变成了短下划线的输入状态了。

  这时可以随意输入、修改内容,也可以不输入。

  若想退出编辑器,按键盘”Esc“即可进入命令状态,然后输入 :,再输入 x ,就可以退出编辑器了。

  另外,也可以用 -m 参数后跟提交说明的方式,在一行命令中提交更新,如:

  

  注意,每一次提交都只是对你项目作一次快照,以后可以回到这个状态,或者进行比较。提交并不是上传代码到服务器仓库。

4、更新到服务器使用git push,然后输入用户名和密码就可以了,如作者操作:

  

5、查看提交历史用git log命令。

  直接输入git log 会显示如下:

  

  我们可以看到各个提交记录,包括用户名、时间、注释等。

  OK,至此我们已经简单的使用了Git了,如果需要进行复杂操作,可参照Git操作文档。

参考Git官方说明:http://git-scm.com/book/zh

傻瓜看完都可以简单使用Git的更多相关文章

  1. 看完就会用的GIT操作图解分析

    无论你是前端还是后台,无论是运维还是移动端研发,GIT是逃避不了的东西,当然你说你要用SVN,那不在这次的讨论范围之内.不多说,请看下文GIT图解分析,10分钟学会git操作,当然下面的教程是为实战为 ...

  2. 【Nginx】如何格式化日志并推送到远程服务器?看完原来很简单!!

    写在前面 Nginx作为最常用的反向代理和负载均衡服务器,被广泛的应用在众多互联网项目的前置服务中,很多互联网项目直接将Nginx服务器作为整个项目的流量入口.这就使得我们可以通过对Nginx服务器日 ...

  3. HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!

    前言 Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据. 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 ...

  4. 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!

    看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...

  5. 在知乎上看到 Web Socket这篇文章讲得确实挺好,从头看到尾都非常形象生动,一口气看完,没有半点模糊,非常不错

    在知乎上看到这篇文章讲得确实挺好,从头看到尾都非常形象生动,一口气看完,没有半点模糊,非常不错,所以推荐给大家,非常值得一读. 作者:Ovear链接:https://www.zhihu.com/que ...

  6. 看完这篇文章,我奶奶都懂了https的原理

    本文在个人技术博客同步发布,详情可猛戳 亦可扫描屏幕右方二维码关注个人公众号 Http存在的问题   上过网的朋友都知道,网络是非常不安全的.尤其是公共场所很多免费的wifi,或许只是攻击者的一个诱饵 ...

  7. [转帖]看完这篇文章,我奶奶都懂了https的原理

    看完这篇文章,我奶奶都懂了https的原理 http://www.17coding.info/article/22 非对称算法 以及 CA证书 公钥 核心是 大的质数不一分解 还有 就是 椭圆曲线算法 ...

  8. 看完此文,妈妈还会担心你docker入不了门?

    本文在个人技术博客不同步发布,详情可猛戳 亦可扫描屏幕右侧二维码关注个人公众号,公众号内有个人联系方式,等你来撩...   上周对象突然心血来潮说想养个小宠物,我问想养啥她又说随便,你看着办!!!这我 ...

  9. git原理学习记录:从基本指令到背后原理,实现一个简单的git

    一开始我还担心 git 的原理会不会很难懂,但在阅读了官方文档后我发现其实并不难懂,似乎可以动手实现一个简单的 git,于是就有了下面这篇学习记录. 本文的叙述思路参照了官方文档Book的原理介绍部分 ...

随机推荐

  1. IIS与Apache共用80端口方法

    IIS与Apache共用80端口 http://www.cnblogs.com/haocool/p/3595282.html Windows server 2003服务器上安装有默认 IIS 6和Ap ...

  2. PNote桌面贴小工具 - 项目管理系列文章

    项目经理在项目过程中将会使用到各种工具,以期能够相互配合,对项目组的各种管理工作进行工作的开展和完成.以前就写过一些项目工具的使用,见下链接: 1.Mindjet MindManager思维导图工具的 ...

  3. jquery.serialize() 函数详解

    jQuery - serialize() 方法 W3School给出的定义与用法: serialize() 方法通过序列化表单值,创建 URL 编码文本字符串. 您可以选择一个或多个表单元素(比如 i ...

  4. ORACLE AWR报告数据的导入导出实践

    关于AWR的快照数据可以导出.导入,一直没有亲手实践过.今天动手测试了一下如何导出.导入AWR数据,将AWR的数据从一测试服务器,导入到另外一台测试服务器. SQL> @?/rdbms/admi ...

  5. mysql Lock wait timeout exceeded; try restarting transaction

    查看innodb的事务表INNODB_TRX,看下里面是否有正在锁定的事务线程,看看ID是否在show full processlist里面的sleep线程中,如果是,就证明这个线程事务一直没有com ...

  6. php5.3新特性 之 mysql native driver(mysqlnd)

    概述 本文主要写给sa看的.码农就不用看了. mysql native driver(mysqlnd) 自从php5.3.0开始成为官方源代码的一部分, 用来取代传统的mysql client lib ...

  7. Spring AOP 动态代理 缓存

    Spring AOP应用:xml配置及注解实现. 动态代理:jdk.cglib.javassist 缓存应用:高速缓存提供程序ehcache,页面缓存,session缓存 项目地址:https://g ...

  8. Composer管理PHP包

    安装 Composer包含两大逻辑部分:一个是用来存储包,另一个是命令行应用程序,帮助你发现.下载.更新和分享代码. $ cd/path/to/my/project $ curl -s http:// ...

  9. coursera机器学习-支持向量机SVM

    #对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...

  10. XAML中的特殊符号几空白字符处理

    阅读目录 介绍 详细 处理 Demo下载 介绍 XAML标记语言是基于xml的,所以很多xml中的特殊符号在XAML也是需要处理的. 详细 (取自msdn) 字符 Entity 注释 &(“a ...