工作区——写代码
|
| git add
|
暂存区——临时存储
|
| git commit
|
本地库——历史版本
git 和代码托管中心
1、局域网环境下
GitLab服务器
2、外网环境下
GitHub
码云
git命令行操作
1、本地库初始化
命令:git add
ll 当前的目录包含文件
cd filename 跳转到指定目录下
mkdir file1 在当前目录下创建一个file1的文件夹
git init 初始化git仓库
ls-lA 当前隐藏目录
~ 家目录
效果:创建一个仓库
注意:.git文件夹内的内容不能修改
2、设置签名
用户名
邮箱
项目级别/仓库级别: 仅在当前库范围内生效
git config user.name name1
gie config user.email abcdefg_pro@qq.com
信息保存位置 ./.git/config 访问形式 cat .git/config
系统用户级别: 登录当前操作系统的用户范围
git config --global user.name name1
gie config --global user.email abcdefg_pro@qq.com
信息保存位置 ./.gitconfig 访问形式 ls -lA|less
级别优先级: 就近原则 项目级别>系统用户级别
3、添加文件
git stasus 查看暂存区状态
vim good.txt 创建一个good.txt文件,进入vim编辑器编辑文件
4、提交文件
git add good.txt 提交文件到暂存区(可多次提交多个文件)
git rm --cached good.txt 从暂存区移除文件
git commit good.txt 提交文件到本地库(可一次提交多个文件)
提交后进入vim编辑器,输入提交信息
访问文件 cat good.txt
5、修改文件
vim good.txt 进入文件修改后退出
(1)git add后 git commit
git add good.txt
git commit -m “My second commit.modify good.txt” good.txt
直接提交文件并附上修改信息,不用进入vim编辑器
(2)直接commit
6、版本前进与后退
git log 版本记录查看(详细版)
(HEAD -> master)当前版本
按space向下翻页查看 b向上翻页 q退出
其他版本记录查看方式
git log --pretty=oneline 一行显示
git log --oneline 一行显示,并缩写哈希值,只显示过去
git reflog 一行显示,缩写哈希值,
并显示从当前版本到该版本需要回退多少步{num}
[本质]HEAD指针移动控制版本前进与后退
索引值操作(推荐)
git reset --hard 局部索引值
使用^符号 只能后退,不能往前
git reset --hard HEAD^ 回退一步
git reset --hard HEAD^^ 回退两步
git reset --hard HEAD^^^ 回退三步
使用~符号 只能后退,不能往前
git reset --hard HEAD~3 回退3步
reset 参数
--soft 仅仅在本地库移动HEAD指针
--mixed 在本地库移动HEAD指针,重置暂存区
--hard 在本地库移动HEAD指针,重置暂存区、重置工作区
7、删除文件与找回
前提:删除前文件提交到本地库
操作:
rm good.txt 删除文件
git add aaa.txt 提交删除信息到暂存区
(1)git commit -m "delete aaa.txt" aaa.txt 提交删除信息到本地库
git reset --hard 索引值 找回文件
(2)git reset --hard HEAD
8、比较文件操作
git diff [文件名]
将工作区文件与暂存区文件进行比较
git diff [本地库中历史版本][文件名]
将工作区文件与本地库历史记录进行比较,不带文件名,比较多个文件