查看全局配置
git config --list
配置全局邮箱
git config --global user.email "你的邮箱"
配置全局用户名
git config --global user.name "你的用户名"
本地仓库初始化
git init
//提示初始化空仓库成功 这个时候文件夹里面会多出一个 .git 文件夹
//表示 git所在的文件夹所有后代目录被git管理了,就叫做一个本地仓库
初始化以后,你的文件被虚拟为三个部分:
工作区:代码书写内容的真实位置
暂存区:暂时存储一些内容,存储的不是文件,是节点
历史区:已经形成的历史版本,不能直接操作工作区
只能上传历史区的内容
不能上传工作区和暂存区的内容
如果你的历史区没有内容,会告诉你没有内容上传
把工作区的内容添加到暂存区
git add 文件名
git add 文件夹名称
git add --all 表示把当前工作区里面的所有没有添加到暂存区的内容都加进去
简写形式 git add .
你的工作区要有内容(.git 文件夹不算)
注意:
1.空文件可以添加,但是空文件夹不管
2.如果没有形成历史版本之前,暂存区的同文件会被覆盖
查看工作区和暂存区状态
git status
暂存区撤回内容
git reset HEAD -- 文件名
git reset HEAD -- 文件夹名称
git reset HEAD -- . 撤回暂存区所有的内容
形成历史版本
git commit -m "说明" 会形成一个历史版本
把暂存区的内容形成一个历史版本
前提:需要暂存区有内容
查看历史版本
查看本地已经形成的历史版本
git log
就会以倒叙的形式出现在你本地所保存的所有历史版本
//历史版本 id,唯一值,每一个历史版本都有一个唯一的id (HEAD -> master)当前最新的历史版本
commit 36a1968dc46c01e7d29f68cce7063eac66984c00 (HEAD -> master)
//作者,第一次安装git的时候配置的全局签名
Author: HQL <2847642630@QQ.com>
//生成历史版本的时间
Date: Thu Apr 28 11:23:39 2022 +0800
//你书写的版本描述
js
commit 5b1a0a6aa733ec76d7d578920f472f997014b0d8
Author: HQL <2847642630@QQ.com>
Date: Thu Apr 28 11:18:07 2022 +0800
first
commit 3a55e34f8b12cb7f41c59b719de764dfdb391f66 (HEAD -> master)
Author: HQL <2847642630@QQ.com>
Date: Thu Apr 28 11:50:19 2022 +0800
first-002
回滚历史版本
回到之前记录的某一个历史版本的时间状态
git reset --hard 版本id 就可以回到当时的状态
注意:
1.历史回滚的时候,回到了过去
2.在过去的基础上新增了历史版本
删除历史版本
git rebase -i 历史版本id
坑:
1.历史版本不能写你要删除的那个历史版本
要写前一个历史版本id
2.在删除的时候,进入编辑状态以后,
需要把pick修改为drop
再次保存退出就可以了
删除历史版本的时候会进入编辑状态
是一个命令行编辑文件的状态
切换到英文输入法,按下 i
表示insert,插入的意思,也就是开始编辑文本
把pick改成drop以后,在英文模式下按下esc
编辑器编辑文件的最下面会出现命令等待状态
输入冒号(:)wq表示保存退出的意思
前提:
如果你已经上传了,你删除的只是本地的历史记录
但是远程地址上的记录还在保存
git 上传远程
添加一个远程仓库地址
git remote add origin 你的仓库地址
remote 远程
add 添加
origin 变量名,自己可以随便书写,代表了你的远程仓库地址
仓库地址:就是你准备上传的远程仓库地址
如果你上传github 就填写github地址
如果你上传gitee 就填写gitee地址
注意:暂时我们先使用https协议的地址
把历史区的内容推送到远程
git push -u origin master
push:推送
-u :记录下你本次推送到哪一个地址哪一个分支
如果你下一次不进行修改,还是推送到这个地址这个分支
不需要再写后面的,直接写 git push 就可以了
origin:推送到哪一个地址
master:分支