git_流程
注:系列内容较详细,想要简单系统了解学习git请直接看综述版——综述版链接https://blog.csdn.net/qq_34611721/article/details/80983959
本文参考链接
命令行操作发布流程
安装 git 完成后
配置当前电脑绑定用户信息
$ git config --global user.name "LuckyAmy"
$ git config --global user.email "[email protected]"
$ git config --list
创建一个版本库(本地)
创建库目录
$ mkdir learn-git
进入新建目录
$ cd learn-git
查看文件位置
$ pwd
初始化仓库
$ git init
显示.git目录
$ ls -la
$ ls -al (也可)
其中下面内容表示所有版本信息的管理 控制文件
drwxr-xr-x 1 Administrator 197121 0 六月 27 18:26 .git/
简单操作:创建一个html文件并添加内容
将1写入index.html ,自动在目录下创建index.html 并写入 1
$ echo 1 > index.html
查看index.html中内容
$ cat index.html
追加内容21到 index.html
$ echo 21 >> index.html
git status 查看目前git状态
$ git status
添加 -s 为精简模式 ,只显示被改动文件
绿色表明:暂存区和版本库中文件的改动
红色表明:工作区和暂存区的文件改动
$ git status -s
查看当前工作区和暂存区的文件区别标题
$ git diff
添加内容至缓存区
warning:警告内容为回车模式更改,可忽略
$ git add index.html
查看git状态 提示命令:可使用 git rm –cached 撤销缓存内容
$ git status
撤销缓存内容(流程中可忽略)
$ git rm --cached index.html
提交文件
1.直接添加备注
$ git commit -m '添加lala'
2.vim 添加备注
$ git commit
回车出现界面 vim 编辑器
注:不添加备注 可以直接输入 :q! 退出编辑器
确定光标位于第一行第一位 可用HJKL调整光标位置
点击键盘 i 键 切换到插入模式
输入备注信息
点击 Esc 键 退出插入模式
输入 :wq 退出 vim编辑器
查看版本日志(流程中可忽略)
$ git log
黄色区域为版本,后期可调整后退版本
比较版本差异和查看版本库状态
git diff 可查看工作区和缓存区的差异。
git diff HEAD 可查看工作区和HEAD(当前工作区分支)相比的差异
git diff –cached 可查看暂存区和历史区的差异.
版本回退
查看提交历史 commit 值为 唯一的提交 id (版本号)
$ git log
查看提交历史 commit 值为缩写(版本号)提交显示到一行
$ git log --oneline
查看提交历史 图形化,增加辨识度
$ git log --graph
版本回退至上一版本
$ git reset --hard HEAD^
版本回退至上上一个版本
$ git reset --hard HEAD^^
回退多个版本
例如:回退100个版本写 写成HEAD~100。
$ git reset --hard HEAD~100
回退至任意版本
需要记住版本号,写前面5个以上即可 一般差别比较大,前五个字母相同的很少
$ git reset --hard c8de5cf
查询所有的提交 (关闭电脑后重启仍能找到误删版本文件)
$ git reflog
git reset扩展
- git reset –mixed:此为默认方式,等同于git reset,回退至某个版本, 工作区 不变,回退历史区 和 暂存区
- git reset –soft: 回退到某个版本,只回退了历史区的信息,工作区 和 暂存区 都不变
- git reset –hard:彻底回退到某个版本,回退 工作区 、历史区 和 暂存区 。
文件删除
工作区删除 可从缓存区恢复
查看当前Git 状态 工作区、缓存区没有需要提交的内容
$ git status
直接从工作区删除文件
$ rm index.html
查看Git状态 git历史区 当前版本在目录下找不到文件 提示
- 使用 git add 将本次操作添加到缓存区 或使用 git rm index.html 更新将要提交的内容(删除文件时)
(use “git add/rm …” to update what will be committed)
- 使用 git checkout – index.html 恢复被删除文件
(use “git checkout – …” to discard changes in working directory)
直接恢复被删除工作区文件
$ git checkout -- index.html
彻底删除本地文件并提交版本号
彻底删除后恢复文件 回到上一个版本 历史区文件
命令简述
git config --global user.name "maxwelldu" //配置全局用户名
git config --global user.email "[email protected]" //配置全局邮箱
git config --list //显示所有配置列表
ls -la //显示当前目录所有文件包括隐藏文件
git init //初始化git仓库
git add index.html //添加该文件到暂存区
git status //查看当前状态
git rm --cached index.html //从暂存区移除到工作区
git status //查看当前状态
git add . //添加所有的文件到暂存区
git status //查看当前状态
git commit . -m "init project" //将缓存区的内容提交到历史区(此处的"-m"表示不跳到另一个页面,后面跟的"init project"是备注)
git status //查看当前状态
git commit . //添加所有文件到历史区
git status //查看当前状态
git checkout index.html //将工作区的修改撤销;取回暂存区的文件
git status //查看当前状态
git status -s //查看哪些文件被更改过
git diff //查看工作区和暂存区的文件区别
git diff index.html //查看该文件被更改过的详细信息
git diff index.js //查看该文件被更改过的详细信息
git diff index.css //查看该文件被更改过的详细信息
git log //查看提交历史
git status //查看当前状态
git diff //查看工作区和暂存区文件的区别
git add . //添加所有文件到暂存区
git status //查看当前状态
git diff //查看工作区和暂存区文件的区别
git diff --cached //查看暂存区和历史区的区别
git diff HEAD //查看工作区与上一个版本的不同(更改文件后不提交到历史区可用该命令查看)
git log //查看提交历史
git status //查看当前状态
git commit //提交当前暂存区的文件("."可写可不写)
git log //查看提交历史
git log --oneline //提交显示到一行
git log --graph //图形化显示提交的
git reset --hard HEAD^ //所有文件回到上一个版本
git reflog //查看所有的提交
git reset --hard 1b8b6b6 //回到指定版本
git log --oneline --grep="project" //查找文件中带有project的文件并显示到一行
git reset --mixed HEAD^ //暂存区和历史区回到上一个版本,工作区不变
git status //查看当前状态
ls | grep *.js //通过管道筛选所有js文件
ps:
更改库名称(步骤忽略)
$ mv learn-git/ gitlearn
返回上一级
$ cd ..
进入其他盘(D盘)
$ cd D:
查看文档命令行操作历史
$ history
提交工作区所有内容至缓存
$ git add .
git图形化工具 Source Tree