git 基本使用

1.下载

windows :用淘宝的镜像 https://npm.taobao.org/mirrors/git-for-windows/

linux : yum install git可以参考:https://git-scm.com/download/linux

2.简单介绍

git中有两个概念比较重要一个是工作区还有一个是暂存区,这两个其实都是文件存放目录,暂存区就是你对文件使用 git add 之后保存文件修改的目录,git commit操作会对暂存区的文件修改创建版本记录,然后清空暂存区这个过程有点类似IO操作的flush,也有点像事务,所谓版本记录也就是新创建的版本,其保存着上一个版本的不同之处(也就是文件修改),每创建一个新的版本记录,就会把版本的指针(HEAD)指向当前版本

3.操作演示

3.0 git init

新建git的工作目录,路径为/opt/module/git_test,git_test就是上面所说的工作目录了,

执行git init命令初始化git工作目录 ,ll -a查看,出现了.git目录,包含git帮我们创建的master分支

3.1 git add a.txt

对a.txt进行追踪或者说将把对a.txt的修改写入暂存区

3.2 git commit

git commit -m "备注信息"

会把暂存区的文件修改全部进行提交用来创建新的版本

3.3 git log与git reflog

git log查看版本记录(红色为版本号,hashcode),需要说明的是版本记录只是保存了当前版本与上一个版本的修改之处,当前版本对上一个版本存在依赖关系

git reflog查看操作记录

3.4 更新下a.txt后git commit并查看下版本记录

 3.5 版本的回退

上面说过HEAD指向当前版本,因此回退版本有如下方式

git reset --hard HEAD^ 回到前1个版本,此时git log就没有我们创建的版本2了

git reset --hard HEAD~2 回到前2个版本

git reset --hard 版本号(前4位即可) 回到指定的版本

 3.6 git status可以查看当前工作目录的状态,包括哪些文件未被跟踪(git add),哪些修改还没有提交(git commit)

3.7 对比文件的不同

git diff HEAD HEAD^ a.txt 对比当前版本与上一个版本中 a.txt文件的不同 ---指向HEAD,+++指向 HEAD^,可以看到不同之处是当前版本中多了一行

git diff HEAD a.txt 对比当前版本与工作区中的a.txt的文件不同

3.8撤销修改

撤销对工作区文件的修改:git checkout

已修改了文件但是没有执行git add操作,也就是文件的修改没有被写入暂存区中此时可以使用git checkout -- 文件 的方式撤销修改

撤销暂存区的修改:

已经使用了git add命令把文件的修改写入到了暂存区中,此时可以先使用git  reset HEAD 文件 把修改从暂存区中移除,再使用git checkout撤销修改

3.9删除文件 

git rm 文件(当然也可以使用git add),然后git commit,只要你没有提交,就可以使用git reset HEAD和git checkout还原文件,如果提交了,只能对版本进行回退了

原文地址:https://www.cnblogs.com/tele-share/p/10504863.html