1、创建版本库
     版本库又可以称为仓库(repository),可以简单理解为一个目录,在这个目录下的所有文件都可以被git管理起来,每个文件的新增、修改、删除Git都可以跟踪,以便在任何时刻都可以追踪历史,或者在将来某个时刻进行还原。
     创建版本库首先先创建一个空目录,git负责的是管理这个目录下所有的文件。
     然后通过git init命令吧这个目录变成Git可以管理的仓库。执行命令之后会产生一个.git的目录,这个目录是Git用来跟踪和管理版本库的。不能手动修改。
$ git init
Initialized empty Git repository in XXXXX
 
     把文件放在版本库中管理:
添加文件,添加成功就不会有消息返回。
$ git add <file1> <file2>
例如
$ git add readme.txt readme1.txt
使用git commit提交到版本库,-m是提交说明,可以不写,但是为了清晰阅读这是必要添加。
$ git commit -m "first commit"
2、版本退回
     git log可以查看版本库的提交记录,或者是git log --pretty=online。
     一般会看到一大串无规律的数字或者字母,这还是版本号 commit id ,这个版本号和一般的1、2、3...递增的版本号不一样,这是有SHA1计算出来的很大的数字,用十六进制的版本号。使用这么复杂的版本号的原因是Git是分布式的版本控制系统,如果使用递增的版本号肯定会有冲突的。
     每提交一个新版本,Git胡自动把他们串成一条时间线,如果使用可视化工具查看Git历史可以很清楚的看到提交的历史时间线。
     版本退回,在Git中,Head表示当前版本,也就是最新提交的版本,上一个版本就是Head^,上上个版本就是Head^^,向后退版本数过多的时候可以使用 Head~n,来表示,向前退100个版本写成 Head~100。
     退回上个版本

 $ git reset --hard HEAD^ 
     指定版本号退回,版本号( commit id )就是一串很长的十六进制,如果记不全,可以只写前面几位。

$ git reset --hard XXXXX
     Git的Head相当于一个指针,版本退回只是把Head指向当前版本改为指向其他版本,所以Git的版本退回很快。
     当然,极有可能一不小心就退回了一个奇怪的版本,自己并不认得,或者执行了什么命令也不记得了,相当于在Git里面迷路了,这时候可以使用 git reflog来查看命令历史,这样相当于找到一个指路明灯。
 
3、git的暂存区和工作区
     stage在git中的概念十分重要,我们简称为暂存区。在把文件添加进版本库进行管理的时候会进行的两个步骤,git add和git commit。git add是把工作区文件添加进暂存区,然后提交的时候是把暂存区的所有内容提交到当前分支。简单来说就是所有的文件修改都会先放在暂存区,然后一次性提交到分支中,要是不知道文件是否已经添加进入暂存区,可以使用git status查看所有文件的状态就可以查看出各个文件的详细状态。一定要先add添加进暂存区,然后再commit提交到分支,否则直接commit是没有提交修改内容的。
 
4、撤销修改 git checkout -- file
     撤销修改有两种情况:一种是文件在工作区修改之后还没有存放到暂存区,撤销修改命令是將工作区恢复回版本库一模一样的状态。
     第二种是文件已经添加到暂存区了,工作区又做了修改,撤销修改就將工作区恢复回暂存区后的状态。
     总之就是让工作区文件回到最近一次git commit或者是git add时状态。
 
     但是,修改错误的文件添加到了暂存区,这时候可以把暂存区撤销掉(unstage),使用命令git reset HEAD file 可以把暂存区的修改撤销掉重新放回工作区。git reset的命令可以回退版本,也可以將暂存区的修改回退到工作区。
     还有一种情况是修改错误的文件已经提交到版本库了,撤销修改的办法就是回退版本。
 
     要是在工作区删除一个文件,但是这样会导致工作区和暂存区状态不一致,可以使用git rm file来从版本库删除该文件。
     一不小心删除了某个文件,也可以使用git checkout -- file来找回最新文件。
     
 
 
 
 
     
     

Git基本使用教程的更多相关文章

  1. Git使用详细教程(一)

    很久不发博客,最近有兴趣想写点东西,但 Live Writer 不支持从Word复制图片,疯狂吐槽下 Git使用详细教程(一) Git使用详细教程(二) 该教程主要是Git与IntelliJ IDEA ...

  2. 在Dropbox上搭建私有的Git仓库的教程

    导读 Git版本控制系统需要一个服务器端,而GitHub上要想创建私有的Git服务器端仓库则触及到收费项目,于是这里我们利用Dropbox的免费空间,来看一下在Dropbox上搭建私有的Git仓库的教 ...

  3. git github 使用教程

    参考文章:文章地址: http://wuyuans.com/2012/05/github-simple-tutorial/ github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般 ...

  4. git学习基础教程

    分享一个git学习基础教程 http://pan.baidu.com/s/1o6ugkGE 具体在网盘里面的内容..需要的学习可以直接下.

  5. git 入门教程之 git 私服搭建教程

    git 私服搭建教程 前几节我们的远程仓库使用的是 github 网站,托管项目大多是公开的,如果不想让任何人都能看到就需要收费,而且 github 网站毕竟在国外,访问速度太慢,基于上述两点原因,我 ...

  6. Git&GitHub-基础教程

    目录 1. Git简介 1.1 什么是版本控制系统? 1.2. Git的历史 1.3. 什么是分布式?什么是集中式? 2. Git安装 3. 创建一个版本库 4. Git的语法教程 4.1. 提交一个 ...

  7. 图解Windows下 GIT GUI 使用教程

    https://jingyan.baidu.com/article/19020a0a7ae6af529c284248.html 本篇经验将和大家介绍Windows下 GIT GUI 使用教程,希望对大 ...

  8. Git 相关工具及教程地址

    一.Git GUI 客户端 Git 客户端下载(Windows) TortoiseGit 客户端下载(Windows) Sourcetree 客户端下载(Windows.Mac) Git Extens ...

  9. FastAdmin 推荐 Git 在线学习教程

    FastAdmin 推荐 Git 在线学习教程 因为 FastAdmin 推荐使用 Git 管理代码,有很多小伙伴对 Git 不是很熟悉. 也苦于找不到好的教程,我就分享一个 Git 在线学习教程. ...

  10. GIT GUI简易教程

    GIT GUI简易教程 前言 之前一直想一篇这样的东西,因为最初接触时,我也认真看了廖雪峰的教程,但是似乎我觉得讲得有点多,而且还是会给我带来很多多余且重复的操作负担,所以我希望能压缩一下它在我工作中 ...

随机推荐

  1. ROC曲线与AUC值

    本文根据以下文章整理而成,链接: (1)http://blog.csdn.net/ice110956/article/details/20288239 (2)http://blog.csdn.net/ ...

  2. 开发工程师面试的秘密( 整理自 Export C Programming )

    开发工程师面试的秘密 因为打算转战linux平台,所以一直在配置自己喜欢的linux操作系统.同时在看那本<C 专家编程>,这本书主要是针对ANSI C 介绍的,所以和Linux(Unix ...

  3. iOS设备的越狱方法

    最近公司的事情很忙,在开发一个类似于微信的App,经常加班,所以也没有时间去更新微信公众账号的内容了.iOSJailbreak, 申请这个账号大概有一个多月了吧,发布的内容不多,更多是针对开发者的内容 ...

  4. 【WP开发】如何处理溢出的文本

    本文内容适用于Runtime App框架 在用户界面上显示文本,用得严重多的是TextBlock,凡是轻量级的东西都会很常用,TextBlock对于显示简单.少量的文本内容相当适合,不过,在我们考虑要 ...

  5. hibernate(十)双向关联关系的CRUD

    本文链接:http://www.orlion.ml/28/ 一.保存 1. 假设一个group有多个user,一个user只属于一个group,当保存user对象到数据库中时可以 User u = n ...

  6. JAVA实现Excel的读写--poi

    上一篇为大家介绍了通过xls.jar的方式生成Excel的方法,本篇就为大家再介绍一下通过poi方式实现Excel文件的读写操作,内容很简单,代码注释很清晰. 1.生成Excel文件: import ...

  7. [New Portal]Windows Azure Virtual Machine (19) 关闭Azure Virtual Machine与VIP Address,Internal IP Address的关系(1)

    <Windows Azure Platform 系列文章目录> 默认情况下,通过Azure Management Portal创建的Public IP和Private IP都是随机分配的. ...

  8. java并发编程(2)--volatile(转)

    转载:http://ifeve.com/volatile/ 作者:方 腾飞 花名清英,并发网(ifeve.com)创始人,畅销书<Java并发编程的艺术>作者,蚂蚁金服技术专家.目前工作于 ...

  9. 阅读《LEARNING HARD C#学习笔记》知识点总结与摘要二

    今天继续分享我的阅读<LEARNING HARD C#学习笔记>知识点总结与摘要二,仍然是基础知识,但可温故而知新. 七.面向对象 三大基本特性: 封装:把客观事物封装成类,并隐藏类的内部 ...

  10. git gitignore文件失效处理

    这里讲的是使用 git ignore 时候的一种特殊情况   正常你在本地给项目添加了一些文件之后,一般都会自动全部跟踪,但是在这个时候你必须编辑一个ignore文件,把一些不需要跟踪到文件ignor ...