Git命令行操作
本地库初始化
-
命令: git add (git init)
-
效果:
-
-
注意事项:
.git目录中存放的是本地库相关的子目录和文件,不要删除也不要胡乱修改。
设置签名
形式
用户名:Moon
Email地址:1809620325@qq.com
作用:区分不同开发人员的身份
辨析:这里设置的签名和登陆远程库(代码托管中心)的账号,密码没有任何关系。
命令
-
项目级别/仓库级别:仅在当前本地库范围有效
-
-
git config user.name Moon
-
git config user.email 1809620325@qq.com
-
-
系统用户级别
-
- git config --global user.name Moon
- git config --global user.email 1809620325@qq.com
-
-
-
系统用户级别:登陆当前操作系统的用户范围
-
- git config --global user.name Moon
- git config --global 1809620325@qq.com
-
签名保存在Git的config目录
-
- $ cat .git/config
-
优先级
-
- 就近原则:项目级别优先于系统用户级别,两者都有时采用项目级别的签名
- 如果只有系统用户级别的签名,就以系统用户级别的签名为准
- 二者都没有不允许
基本操作
-
状态查看操作
-
- git status
- 查看工作区,暂存区状态
-
添加操作
-
- git add[file name]
- 将工作区的“新建/修改” 添加到暂存区
-
提交操作
-
- git commit -m “commit message” [file name]
- 将暂存区的内容提交到本地库
-
查看历史记录操作
-
-
git log
-
- 多屏控制显示方式
- 空格向下翻页
- b向上翻页
- q退出
-
git log --pretty=oneline
-
git log --oneline
-
git reflog
-
- 显示到某一个历史版本指针需要移动几步
-
-
前进后退
-
-
本质是移动git的操作指针
-
基于索引值操作[推荐使用]
-
- git reset --hard 索引值
- cat 文件(查看文件内容信息)
-
使用^符号:只能往后退
-
- git reset --hard HEAD^ (当前位置往后退一步)
- 注:一个^符号表示后退一步,n个表示后退n步
-
使用~符号:只能后退
-
- git reset --hard HEAD~n
- 注:表示后退n步
-
-
reset命令的三个参数对比
-
-
-
–soft参数
-
- 仅仅在本地库移动HEAD指针
-
–mixed参数
-
- 在本地库移动HEAD指针
- 重置暂存区
-
–hard参数
-
- 在本地库移动HEAD指针
- 重置暂存区
- 重置工作区
-
-
-
删除文件并找回
-
-
-
前提:删除前,文件存在时的状态提交到了本地库。
-
操作: git reset --hard[指针位置]
-
- 删除操作已经提交到了本地库:指针位置指向历史记录
- 删除操作尚未提交到本地库:指针位置使用HEAD
-
-
-
比较文件差异
-
-
-
git diff[文件名]
-
- 将工作区中的文件和暂存区进行比较。
-
git diff[本地库中历史版本的纪录][文件名]
-
- 将工作区中的文件和本地库历史记录比较
-
-
:指针位置使用HEAD
-
比较文件差异
-
-
-
git diff[文件名]
-
- 将工作区中的文件和暂存区进行比较。
-
git diff[本地库中历史版本的纪录][文件名]
-
- 将工作区中的文件和本地库历史记录比较
-
不带文件名比较多个文件
-
-