02-git常用命令操作

git 安装
git 已集成到centos 里面了,如果没有,直接yum


yum install git -y


配置git 仓库 用户名和密码:
git config --global user.name "xc"
配置邮箱,邮箱格式正确,可以任意输入
git config --global user.email "331758730@qq.com"

配置语法颜色 高亮显示:
git config --global color.ui true
我们当前在配置什么?谁使用当前这个仓库,那个用户使用这个仓库,我们在提交代码的时候,代码仓库里面的信息,是显示的那个用户。
++++++++++++
查看当前git 配置:git config --list


或者直接在/root目录下cat .gitconfig

+++++++++
git 初始化
就是把一个普通的目录(可以是空的也可以是非空目录),创建为仓库。
root目录下面
mkdir data && cd data
git init

只要这个目录下面有一个.git 的目录,那么这个目录就是仓库了,可以往里面存放代码了。
查看状态:git status


隐藏文件介绍:
branches #分支目录
config #定义项目特有的配置选项
description # 仅供git web 程序使用
HEAD #指示当前的分支
hooks #包含git 钩子文件
info ##包含一个全局排除文件(exclude文件)
objects #存放所有数据内容,有info 和 pack 两个子文件夹
refs ##存放指向数据(分支)的提交对象的指针
index #保存暂存区信息,在执行 git init 的时候,这个文件还没有



git 的常规使用:

如果你想把代码存放在本地仓库,就必须要经过暂存区
先要把代码添加到 暂存区,然后才能提交到本地仓库,只有提交到本地仓库里面的代码,才能被 版本控制系统管理起来。这样,版本控制系统才能记录你的任意一次操作
创建数据------>提交数据



git 基础命令:
git status 查看状态:
touch a b c


git add a ## 把a文件,添加到暂存区




git add . 或者 git add * ## 添加工作目录下面所有的文件到暂存区


将文件撤出暂存区:git rm --cache <file>
git rm --cached c


删除文件:
从暂存区撤回到工作区、然后直接删除文件
git rm --cached c && rm -rf c


直接从暂存区或同工作区域一同删除文件:
git rm -f b


从暂存区,提交到本地仓库:
git commit -m "add newfile a "
-m:信息,提交的显示的一些描述信息,也可以不用加这个参数,就没有提示。





小结:如何真正意义上通过版本控制系统 管理文件
1.工作目录必须有个代码文件
2.通过git add file 添加到暂存区
3.通过 git commit -m "你自己输入的信息" 添加到本地仓库
+++++++++++++++++++++++++
修改文件名称两种方法:
cd /root/data
mv a a.txt && git status


git rm --cached a && git status


git add a.txt && git status


git commit -m "modified a a.txt"


直接用git命令重命名:
git mv a.txt a #把工作区和暂存区的文件同时修改文件名称


git commit -m "mv a.txt a"
git status

+++++++++++++++++++++++++
git 的文件比对:
git diff #默认比对工作目录和暂存区有什么不同





git diff --cached 比对暂存区和本地仓库文件有什么不同,不输出内容,就表示暂存区和本地仓库是一样的。
+++++++++
git diff --cached
git add a
git diff
git diff --cached


git commit -m "add index"
git diff
git diff --cached


如果某个文件已经被仓库管理,再更改此文件,直接只需要一条命令提交即可。
git commit -am "add newfile"

-a: 就相当于 git add
-m: 还是显示的描述信息


git commit ##相当于虚拟机的镜像,任何操作都被做了一次快照,可恢复到任意一个位置。
查看历史的git commit 快照操作:
git log #查看历史提交过的信息


用一行简单的显示 git commit 信息:
git log --oneline


这是5次快照


git log -p ##显示具体的改动
git log --oneline -p ##


按 空格 键,翻页,最好是,按 q 退出。


git log -1 ##显示最近一次提交的信息,还可以 -2 或者 -3 等


git log -1 -p ##显示最近一次提交,改动的详细信息


回滚操作:
git log --oneline
git reset --hard 85694bb ##回滚到一个数据到某一个提交


现在发现原来的改动又没有问题,又要返回到最后一次的提交?


这时所有的快照哈希值都没有了,不用担心,先前执行过git log --online 用会显示所有的快照,把最后一次的快照哈希值记下来,git reset --hard 61198cd

git reset --hard 61198cd






+++++++++
如果不知道最后一次提交的哈希值,还可以 git reflog