git 基本操作
git config 配置
全局配置name和邮箱
git config --global user.name "xxx"
git config --global user.email "xxx"
初始化一个项目
1、初始化本地项目
git init
2、基于远程分支克隆
git clone 远程仓库地址
暂存区操作
添加到暂存区
git add file...
git add . 暂存所有
移除暂存区
git rm --cached a.html
查看暂存区状态
git status
git commit 提交
-m <msg> 指定提交信息
-a 自动将已跟踪的文件添加暂存区,提交到版本库
--amend -m <message> 修改上次提交备注信息
常用操作
1、提交
git commit -m "提交信息"
2、自动添加至暂存区,并提交修改至版本库
git commit -a -m "提交更改"
3、提交指定文件
git commit b.html -m "指定文件提交"
git branch 分支操作
git branch 列出所有分支
git branch [分支名称] 创建分支
git checkout [分支名称] 切换本地分支
git branch -d [分支名称] 删除本地分支
git switch [分支名称] 切换分支
git switch -c [分支名称] 创建并切换
git merge [] 分支名称
git reset 版本回退
--mixed 模式,默认方式。版本之间的变更内容会恢复至工作区,清空暂存区,修改的内容(版本之间的差异)会保留
--soft 回退版本之后修改的内容会合并放入暂存区,可以一次提交,减少log记录
--hard 直接回退至某个版本内容,之后的修改都会被回退掉。完全重置工作区和暂存区
git restore 文件恢复
1、工作区中的文件
恢复工作区的文件,还原到修改前内容,文件还未提交到暂存区
git restore [文件]
2、暂存区中文件
将文件从暂存区中移除,修改内容会保留,只是修改暂存状态
git restore --staged <file>
从暂存区恢复到工作区中,然后再git restore 还原修改内容
git log 日志查看
-n <number> 显示几条记录
-- <file> 按文件名过滤
--authour=<user> 按提交人过滤 (正则)
--grep=<msg> 按提交备注内容过滤
--all-match 所有指定的过滤条件都匹配到
--merges 只显示merge提交
--no-merges 忽略merge提交
-S<string> 搜索包含某个代码内容的提交记录
-G<regex> 同上,正则匹配
--oneline 一行显示,只有提交备注信息,版本号基本信息
--pretty 指定显示格式(oneline,short,medium,full,fuller,email,raw...)
也可以自定义格式:
--pretty=format:'自定义格式' ,参数有很多,不展开类似log4j配置