记录摘选自廖雪峰的官方网站归纳总结

1.centos下安装git
[root@cdw-lj ~]# yum install git
2.配置用户名以及邮箱
[root@cdw-lj opt]# git config --global user.name "daiwei.chen"
[root@cdw-lj opt]# git config --global user.emai "daiwei.chen0724@gmail.com"
3.创建版本库
[root@cdw-lj ~]# mkdir -pv /opt/learngit/         #创建一个空目录做版本目录
[root@cdw-lj ~]# cd /opt/learngit/
[root@cdw-lj learngit]# git init #初始化
Initialized empty Git repository in /opt/learngit/.git/
[root@cdw-lj learngit]# ls -ah #查看当前目录发现多了一个隐藏的.git目录;
. .. .git
4.在此目录下新建文件,并将其添加到git仓库并提交。
[root@cdw-lj ~]# echo 'Git is a version control system.
> Git is free software.' > /opt/learngit/readme.txt #添加两行文本到readme.txt文件中
[root@cdw-lj ~]# cat /opt/learngit/readme.txt #查看文件内容
Git is a version control system.
Git is free software. [root@cdw-lj learngit]# git add readme.txt #添加文件到仓库,运行没显示表示添加成功
[root@cdw-lj learngit]# git commit -m "wrote a readme file" #提交文件到仓库,-m参数后输入的是本次提交的说明,类似于备注
[master (root-commit) 528fa8b] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt [root@cdw-lj learngit]# git status #查看git仓库状态,因文件已经提交至仓库,所以为clean状态
# On branch master
nothing to commit, working directory clean
5.修改文件内容,添加并提交
[root@cdw-lj learngit]# cat readme.txt                      #第一次将文件改成此内容,修改后可通过“git diff 文件名”命令查看文件区别
Git is a distributed version control system.
Git is free software.
[root@cdw-lj learngit]# git add readme.txt #将修改后的文件添加至仓库
[root@cdw-lj learngit]# git commit -m "add distributed" #将修改提交 [root@cdw-lj learngit]# cat readme.txt #第二次将文件改成此内容。
Git is a distributed version control system.
Git is free software distributed under the GPL.
[root@cdw-lj learngit]# git add readme.txt #将修改后的文件添加至仓库
[root@cdw-lj learngit]# git commit -m "append GPL" #将修改提交
6.历史版本查询
#在之前readme.txt经历了三个版本,并分别做了标记"wrote a readme file" "add distributed" "append GPL"
[root@cdw-lj learngit]# git log #git log命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是append GPL,上一次是add distributed,最早的一次是wrote a readme file。
commit 2d703b1dcd88b560610e550450cf2d78fcfc7064
Author: daiwei.chen <daiwei.chen0724@gmail.com>
Date: Wed Jan 2 14:56:55 2019 +0800 append GPL commit eaa640ba686f09cc0687fa8691df119351dd184d
Author: daiwei.chen <daiwei.chen0724@gmail.com>
Date: Wed Jan 2 14:42:22 2019 +0800 add distributed commit 528fa8b827056289734022d8fd51379b03df53cb
Author: daiwei.chen <daiwei.chen0724@gmail.com>
Date: Wed Jan 2 14:27:04 2019 +0800 wrote a readme file
[root@cdw-lj learngit]# git log --pretty=oneline #如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数:显示的结果为commit ID 和提交说明
2d703b1dcd88b560610e550450cf2d78fcfc7064 append GPL
eaa640ba686f09cc0687fa8691df119351dd184d add distributed
528fa8b827056289734022d8fd51379b03df53cb wrote a readme file
7.版本回退
[root@cdw-lj learngit]# git reset --hard HEAD^        #在Git中,用HEAD表示当前版本,也就是最新的提交2d703b...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^
HEAD is now at eaa640b add distributed
#通过以上命令已经从当前版本“append GPL”回退到上一个版本“add distributed”。 HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

GIT命令基本使用的更多相关文章

  1. Git初探--笔记整理和Git命令详解

    几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...

  2. 工作中常用的git命令

    一 常用Git命令 git clone:(区分SSH or HTTP) git init:初始化仓库 二 Git命令详解 Git Bash下,cd /c git clone,从远程Git版本库克隆一份 ...

  3. 常用 Git 命令清单

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  4. 常look的Git命令

    常用的Git命令   命令  简要说明 git add 添加至暂存区 git add–interactive 交互式添加 git apply   应用补丁 git am  应用邮件格式补丁 git a ...

  5. ***Linux下使用git命令及github项目

    在linux下搭建git环境1.创建Github账号,https://github.com2.Linux创建SSH密钥: ssh-keygen  ##一直默认就可以了 3.将公钥加入到Github账户 ...

  6. 我所记录的git命令(非常实用)

    一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...

  7. GIT命令行的使用

    新手了解 有不对的地方指点下 首先, 了解下什么是GIT,GIT是一款开元的分布式版本控制工具, 在世界上的所有分布式版本控制工具中,GIT是最简单,最流行,同时也是最常用的 相比于其他版本的控制工具 ...

  8. 简明 Git 命令速查表(中文版)

    原文引用地址:https://github.com/flyhigher139/Git-Cheat-Sheet/blob/master/Git%20Cheat%20Sheet-Zh.md在Github上 ...

  9. 常用 Git 命令清单 转

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  10. 日常开发使用GIT命令

    git是一种分布式的版本管理工具,现在我总结下日常使用的git命令 1)检出 git clone 地址 --检出代码 #这里的地址是代码池的地址,如Github或bitbucket 2)增加文件 gi ...

随机推荐

  1. Python+Selenium笔记(四):unittest的Test Suite(测试套件)

    (一) Test Suite测试套件 一个测试套件是多个测试或测试用例的集合,是针对被测程序的对应的功能和模块创建的一组测试,一个测试套件内的测试用例将一起执行. 应用unittest的TestSui ...

  2. 多媒体指令(AVX加速数组求和)

    #include <stdio.h> #include <intrin.h> #include <iostream> #include <ctime> ...

  3. git cherry-pick 用法

    1.当合并代码冲突特别多的时候,有时候只想提交自己分支的代码.这个时候使用cherry-pick 可以实现 1)首先使用 git log --oneline -n 找到最近自己分支的提交记录,n表示提 ...

  4. Jenkins 执行python脚本

    操作很简单: * 最新版本的Jenkins,插件管理中下载两个python需要的插: * 重启Jenkins 任务中添加python脚本即可,点击保存时候,自动会在下图中目录生成.py文件 过程如下 ...

  5. EntityFramework Code-First 简易教程(三)-------数据库初始化

    现在我们来学习,当数据库初始化的时候,Code First怎样设置数据库的名字. 下面的图显示了数据库初始化的工作流程,根据传入给context基类的构造函数的参数来初始化: 根据上面的图,conte ...

  6. ssh中文手册

    ssh-keygen 中文手册 sshd_config 中文手册 sshd 中文手册

  7. [cb]UIGrid+UIStretch的自适应

    自适应需求 如下图所示:一个Grid下面有六个Button,它们需要在不同的分辨下拉伸适应(Horizontal)宽度,以保证填充满底部 要点分析 首先有这两个要点 1.UIGrid中的Cell Wi ...

  8. 大话存储 3 - 七种磁盘RAID技术

    RAID技术 Redundant Array of Independent Disks 由独立的磁盘组成的具有冗余特性的阵列. 有两个特性: 阵列:需要很多磁盘来组成 冗余:允许某块磁盘损坏之后,数据 ...

  9. 美式九球比赛规则 (Nine-ball)

    九球比赛规则 (Nine-ball) 九球比赛规则 一.器材: 1.台面规格: a.内沿长254厘米. b.内沿宽127厘米. c.高80厘米. d.角袋口内沿最近距离为10.5厘米(±1毫米),腰袋 ...

  10. MySQL二进制日志文件Binlog的三种格式以及对应的主从复制中三种技术

    二进制日志文件Binlog的格式主要有三种: 1.Statement:基于SQL语句级别的Binlog,每条修改数据的SQL都会保存到Binlog里面. 2.ROW:基于行级别,每一行数据的变化都会记 ...