B站视频学习笔记
配置用户名和邮箱
# 配置用户名
git config --global user.name ZhangSan
# 配置邮箱
git config -- global user.email 123@qq.com
# 保存配置,后面就不用每次输入了
git config --global credential.helper store
# 查看配置的用户名和邮箱等信息
git config --global --list
--global
:全局配置,对所有仓库生效
新建仓库
-
方式一
git init
初始化后会生成一个
.git
目录,存放着这个 git 仓库所有的数据。如果这个.git
目录被删除,则当前所在目录不再是一个 git 仓库。 -
方式二
从远处 GitHub 上克隆一个仓库到本地。git clone 仓库地址
工作区域
-
工作区
.git
所在的目录,我们实际操作的目录。 -
暂存区
.git/index
,中间区域,用于临时存放即将提交的修改内容。 -
本地仓库
.git/objects
,Git 存储代码和版本信息的主要位置。
修改完工作区的文件之后,需要将它们添加到暂存区,然后再将暂存区的修改提交到本地仓库中。
我们可以将修改的文件先添加到暂存区中,然后再将暂存区中的文件统一执行提交操作。
文件状态
-
未跟踪(Untrack)
新创建的,还未被 Git 管理起来的文件。 -
未修改(Unmodified)
已经被 Git 管理起来,但文件内容没有发生变化的文件。 -
已修改(Modified)
已经修改过的,但还没有添加到暂存区的文件。 -
已暂存(Staged)
修改后已经添加到暂存区的文件。
添加和提交文件
# 查看仓库状态
git status
# 添加文件
git add 文件名
git add 目录
git add . # 添加当前目录下所有文件
# 提交文件
git commit -m "本次提交的说明信息"
# 查看提交记录
git log
# 查看简洁的提交记录
git log --oneline
commit
只会提交暂存区中的文件,而不会提交工作区中的其他文件。
此时通过git log
可查看提交记录:
回退版本
可以退回到之前某一个提交的状态。
# 退回到某一个版本,保存工作区和暂存区的内容
git reset --soft 版本ID
# 退回到某一个版本,丢弃工作区和暂存区的内容
git reset --hard 版本ID
# 退回到某一个版本,只保留工作区中的内容,丢弃暂存区中的内容(默认)
git reset --mixed 版本ID
-
使用场景
一般当我们连续提交了多个版本,但是又觉得这些提交没有太大意义,可以合并成一个版本的时候,通过回退后再提交。 -
区别
--mixed
模式,需要执行一下get add
操作来将变动的内容重新添加到暂存区;
--soft
模式,则不需要执行get add
操作,因为工作区和暂存区中的内容没有变动;
--hard
模式,真的要放弃目前本地的所有修改内容的时候使用,会删除两个版本间工作区和暂存区中的所有修改的内容。 -
操作回溯
# 查看 git 历史操作记录
git reflog
如果误操作也不用担心,Git 中所有操作都是可以回溯的。找到误操作的版本号,通过reset
命令回退到这个版本即可。
查看差异
diff 命令可以查看文件在工作区、暂存区、版本库之间的差异,可查看两个文件在不同版本之间的差异,可以查看文件在不同分支之间的差异。
# 不加参数:查看工作区和暂存区之间的差异
git diff
# 查看版本V1和版本V2之间的差异
git diff V1 V2
# 查看当前版本和上一个版本之间的差异
git diff HEAD~ HEAD
# 查看文件fileName在当前版本和上一个版本之间的差异
git diff HEAD~ HEAD fileName
# 查看工作区和仓库之间的差异
git diff HEAD
# 查看暂存区和仓库之间的差异
git diff --cached
HEAD
指向当前分支的最新提交,HEAD~
和HEAD^
表示上一个版本,HEAD~3
表示 HEAD 之前的 3 个版本。
删除文件
# 删除文件,同时在暂存区中删除
git rm 文件名
.gitignore 忽略文件
这个文件可以让我们忽略掉一些不应该被加入到版本库中的文件,可以让仓库体积更小、更加干净。
- 应该忽略的文件:
① 系统或软件自动生成的文件;
② 编译产生的中间文件和结果文件;
③ 运行生成的日志文件、缓存文件、临时文件;
④ 设计身份、密码、口令、密钥等敏感信息文件。
vscode 中的一些操作
文件状态
分支简介和基本操作
该看P09
评论区