文章目录
1、git安装与版本库创建
#安装
$ sudo apt-get install git
#新建一个目录,再初始化(创建版本库)
$ git init
安装完成直接敲git,如果有一堆命令即说明安装成功
2、版本的增删操作
2.1、工作区与版本库
新建的目录就是一个工作区
初始化后,工作区里的隐藏目录 .git 就是版本库
2.2、版本添加、回退与查看
- 把文件添加到版本库里的暂存区
$ git add 修改后的文件(可以多个)或目录
- 把暂存区的所有内容移动到版本库
版本号可设置成一样但会生成不同的的序列号
$ git commit -m '版本号'
- 回退到上一个版本
$ git reset --hard HEAD~1
# HEAD指向最新提交的版本(用master指明)
# HEAD^ 指向前一个版本,HEAD^^指向前两个版本
# HEAD~n 指向第前n个版本
- 回退到指定版本
$ git reset --hard 版本序列号
#查看版本对应的序列号
$ git reflog
- 查看
#查看版本库里面的版本
$ git log
$ git log --pretty=oneline #简略显示
#查看当前工作区的状态
$ git status
只是修改了文件,但未添加到暂存区会提示修改尚未假如提交
未跟踪的文件表示该文件并未添加到版本库中
2.3、撤销操作
- 撤销文件a在暂存区的修改(如果文件a还在暂存区)
$ git reset HEAD 文件a
- 撤销文件a在工作区的操作(包括删除文件,但是文件要在版本库)
$ git restore 文件a
$ git checkout -- 文件a
- 场景1:当你改乱了工作区某个文件的内容,想直接撤销工作区的修改时,用命令git checkout – file。
- 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想撤销修改
分两步,第一 步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。- 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,直接版本回退。
2.4、对比不同版本的文件
- 对比当前工作区里的文件和当前版本的文件不同
$ git diff HEAD -- 文件名
减号-表示HEAD中文件的不同
加号+表示工作区文件的不同
- 对比HEAD和HEAD^的文件不同
$ git diff HEAD^ HEAD -- 文件名
#减号-表示HEAD^中文件的不同
#加号+表示HEAD文件的不同
#HEAD^ HEAD顺序不一样,加减号表示的一样不一样
2.5、文件删除
#将删除操作添加到暂存区
$ git rm -- 文件名
#撤销删除
$ git checkout -- 文件名
- 场景1:当你删除了工作区的某个文件,想直接撤销,用命令git checkout – file。
- 场景2:当你不但删除了工作区的某个文件,还将删除操作添加到了暂存区,想撤销删除,
分两步,第一 步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
3、分支管理
3.1、分支创建与查看
$ git branch #列出分支
$ git branch 分支1 #创建分支1
$ git checkout 分支1 #切换到分支1
$ git checkout -b 分支1 #创建并切换到分支1
3.2、分支合并
$ git merge 分支1 #将分支1合并到当前分支
$ git branch -d 分支1 #删除分支1
$ git merge --abort #取消合并
- 合并成功
- 合并失败
3.3、工作现场隐藏与恢复
$ git stash #隐藏现场
$ git stash list #查看被隐藏的现场
$ git stash pop #恢复现场
笔记来源 :b站