GIT命令基本使用
记录摘选自廖雪峰的官方网站归纳总结
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命令基本使用的更多相关文章
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
- 工作中常用的git命令
一 常用Git命令 git clone:(区分SSH or HTTP) git init:初始化仓库 二 Git命令详解 Git Bash下,cd /c git clone,从远程Git版本库克隆一份 ...
- 常用 Git 命令清单
我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...
- 常look的Git命令
常用的Git命令 命令 简要说明 git add 添加至暂存区 git add–interactive 交互式添加 git apply 应用补丁 git am 应用邮件格式补丁 git a ...
- ***Linux下使用git命令及github项目
在linux下搭建git环境1.创建Github账号,https://github.com2.Linux创建SSH密钥: ssh-keygen ##一直默认就可以了 3.将公钥加入到Github账户 ...
- 我所记录的git命令(非常实用)
一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...
- GIT命令行的使用
新手了解 有不对的地方指点下 首先, 了解下什么是GIT,GIT是一款开元的分布式版本控制工具, 在世界上的所有分布式版本控制工具中,GIT是最简单,最流行,同时也是最常用的 相比于其他版本的控制工具 ...
- 简明 Git 命令速查表(中文版)
原文引用地址:https://github.com/flyhigher139/Git-Cheat-Sheet/blob/master/Git%20Cheat%20Sheet-Zh.md在Github上 ...
- 常用 Git 命令清单 转
我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...
- 日常开发使用GIT命令
git是一种分布式的版本管理工具,现在我总结下日常使用的git命令 1)检出 git clone 地址 --检出代码 #这里的地址是代码池的地址,如Github或bitbucket 2)增加文件 gi ...
随机推荐
- [Android] 状态栏的一些认识
前段时间遇到几个关于状态栏的问题,又了解了一下状态栏相关的知识,现在做一下记录. 本文地址:http://www.cnblogs.com/rossoneri/p/4316343.html 前戏和问题 ...
- IIS下众多网站,如何快速定位某站点日志在哪个文件夹?
windows2008,iis 多站点, 日志.应用程序池都是默认设置, 没有分开………… Logs目录里面有W3SVC43,W3SVC44,W3SVC45,W3SVC46.....等等日志文件夹. ...
- LeetCode题解之Pascal's Triangle II
1.题目描述 2.题目分析 题目要求返回杨辉三角的某一行,需要将杨辉三角的某行的全部计算出来. 3.代码实现 vector<int> getRow(int rowIndex) { ) ,) ...
- Apache2启动错误Could not reliably determine the server's fully qualified domain name
错误情况: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using ...
- Linux下查看端口,强制kill进程
1.查看8088端口被哪个进程占用:netstat -apn | grep 8088 2.强制kill某一进程:kill -s 9 1827
- IP解析计算机名称
#-*- coding: UTF-8 -*- import subprocess,sys,threading reload(sys) sys.setdefaultencoding('utf-8') d ...
- tail 尾巴
tail用法:尾巴,取文件的最后N行,默认前10行, -n 2 取前2行-n 2,简写就是-2 -f 文件 跟踪一个文件尾部的时时变化. 克隆出一个窗口执行:循环脚本:for n in `seq 1 ...
- Ecstore 默认图片压缩质量差的问题解决方法
修改app/image/lib/clip.php文件 }elseif( function_exists('imagecopyresampled')){ $quality = 80; $image_p ...
- HTML常用标签大全
- Swift 实践篇之链式 UI 代码
https://blog.nswebfrog.com/2017/10/20/swift-practice-ui-chaining-code/