作为当下最流行的版本控制系统,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. JavaWeb 的学习一

    JavaWeb学习总结(一)——JavaWeb开发入门 一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Inte ...

  2. CVEH项目观察与思考

    2013-07-01 项目进展: 从启动至今已有三个星期,但是进展甚慢,取得的进展有: A. 封装成库,和HB调用库的接口有些进展,但进未完成 B. 整个框架,类视图,调用视图,只有两三层的进展: C ...

  3. MySQL锁机制总结(二)

    前言: Mysql是一个支持插件式存储引擎的数据库系统,本文讨论的锁机制也主要包含两部分SERVER层的锁和存储引擎的锁,存储引擎是指innodb,其它存储引暂不讨论. 1. 数据库中锁相关的基本概念 ...

  4. mysql配置文件my.cnf详解

    原文地址:mysql配置文件my.cnf详解 作者:gron basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的 ...

  5. 关于iOS构建版本提交iTunes后,一直不出现,没加号的解决方案

    最近第一次遇到,正常打包,上传iTunes App Store,都能正常upload. 也可能是因为刚升了Xcode 8 的缘故,莫名其妙的小问题... 描述如下: 如果进iTunes的活动界面,也能 ...

  6. Python 变量类型

    Python 变量类型 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间. 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中. 因此,变量可以指定不同的数据 ...

  7. CentOS 6.3下rsync服务器的安装与配置

    一.rsync 简介 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录. Rsy ...

  8. Virtualbox配置双网卡

    hadoop内部的虚拟机群,使用Host-Only 因为我之前一直是把三台虚机配置成桥接网络,可以同时上网又可以互通,但有一段时间,网络一直不通畅,造成hadoop核心进程一直关闭. 最后为了稳定起见 ...

  9. Nagios check_logfiles插件的使用记录

    1 获取与安装 https://labs.consol.de/assets/downloads/nagios/check_logfiles-3.7.4.tar.gz 链接可能会失效,建议去官网下载. ...

  10. Sql server2012连接Sql server 2008时出现的问题:已成功与服务器建立连接,但在登陆过程中发生错误。(provider:SSL Provider,error:0-接收到的消息异常,或格式不正确。)

    以前连接是正常的,就这两天连不上了.(没有耐心的直接看末尾解决办法) 错误消息如下: 1.尝试读取或写入受保护的内存.这通常指示其他内存已损坏.(System.Data) 2.已成功与服务器建立连接, ...