1.状态查看
git status
查看工作区、暂存区状态
2.添加到暂存区
git add [file name]
将工作区的“新建/修改”提交到暂存区。
git add命令几个重要的参数:
· git add -A 提交所有变化
· git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
· git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件,但是git2.x版本和-A参数一样了。具体情况如下:
3.提交到本地库
git commit -m “[你的提交信息]”
4.查看历史记录
多屏显示控制方式:
空格向下翻页
b向上翻页
q退出
4.1 git log
显示所有提交过的版本信息
4.2 git log --pretty=oneline
4.3 git log --oneline
4.4 git reflog
可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
5.版本前进后退
5.1基于索引值的操作
git reset --hard [局部索引值]
git reset --hard
5.2使用^符号
git reset --hard HEAD^
注意:该操作只能后退,一个^后退一步,n个后退n步。
5.3使用~符号
git reset --hard HEAD~n
注意:该操作只能后退,n表示后退的步数
6.git reset 三个参数比较
6.1–soft 参数
仅仅在本地库移动HEAD指针。
该操作相当于把本地库版本后退,同时相当于暂存区和工作区前进了一步,使用commit操作可以达到同步的效果。也可以用–hard参数使得三个区域处于同步的状态。所以在使用git status查看状态的时候会看到有需要commit的文件。
6.2–mixed参数
在本地库和暂存区移动HEAD指针。
该操作相当于修改了工作区的内容,所以在使用git status查看状态的时候会有需要add的内容。所以查看文件的内容还是在没有移动版本时候的状态,但是比较本地库和暂存区却是做出了修改。
6.3–hard参数
在本地库、暂存区、工作区同时进行HEAD指针移动,三者处于同步的状态。这也是我们经常使用到的一种参数。
7.删除文件找回
前提:删除前文件存在的状态已经提交到了本地库。
操作:git reset --hard [指针位置]
删除操作已经提交到本地库:指针位置指向历史记录
删除操作尚未提交到本地库:指针位置使用HEAD
8.比较文件的差异
git diff [文件名]
将工作区中的文件和暂存区进行比较
git diff [本地库中历史版本] [文件名]
将工作区中的文件和本地库历史记录比较
不带文件名比较多个文件
9.查看暂存区状态
git ls-files -s 查看暂存区的当前状态
10.查看完整分支图
git log --oneline --decorate --graph --all 查看完整的分支图(没删除前)