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. C 中读取键盘码

    键盘码在底层开发中经常用到,有时候我们会忘记它们,就要急急忙忙的去找 键-码 对照表查看,其实程序可以自己打印出 键-码 对应值 #include <stdio.h> #include & ...

  2. ServletConfig对象详解

    在Servlet 的配置文件中,可以用一个或多个<init-param>标签为servlet配置一些初始化参数. 当servlet配置了初始化参数之后,web容器在创建servlet实例对 ...

  3. 谈谈java的运行机制

    1.高级语言的运行机制 我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的 ...

  4. Windows 系统下Git安装图解

    简单来说Git是一个免费的.开源的版本控制软件,从功能上讲,跟我们比较熟悉的Subversion(SVN)这类版本控制软件没什么两样.由于工作的需求,需要在WinXP下安装git配合团队完成相应的工作 ...

  5. 用javascript动态创建并提交表单form,表格table

    <script> //helper function to create the formfunction getNewSubmitForm(){ var submitForm = doc ...

  6. PCurve - Curve on Surface

    PCurve - Curve on Surface eryar@163.com Abstract. 本文通过给出曲面上曲线PCurve的定义来对OpenCascade中的Curve On Surfac ...

  7. MYSQL线程池总结(一)

    线程池是Mysql5.6的一个核心功能,对于服务器应用而言,无论是web应用服务还是DB服务,高并发请求始终是一个绕不开的话题.当有大量请求并发访问时,一定伴随着资源的不断创建和释放,导致资源利用率低 ...

  8. Office Visio简介

    Office Visio,是VISIO公司在91年推出的用于制作图表的软件(现在微软收购),在早期它主要用作商业图表制作,后来随着版本的不断提高,新增了许多功能.大多数图形软件程序依赖于艺术技能.Of ...

  9. selenium-webdriver(python) (十四) -- webdriver原理

    之前看乙醇视频中提到,selenium 的ruby 实现有一个小后门,在代码中加上$DEBUG=1 ,再运行脚本的过程中,就可以看到客户端请求的信息与服务器端返回的数据:觉得这个功能很强大,可以帮助理 ...

  10. 优秀工具推荐:超实用的 CSS 库,样板和框架

    当启动一个新的项目,使用 CSS 框架或样板,可以帮助您节省大量的时间.在这篇文章中,我编译整理了我最喜欢的 CSS 样板,框架和库,帮助你在建立网站或应用程序时更加高效. 您可能感兴趣的相关文章 精 ...