Git
什么是Git
Git` 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。
Git有两个特性
基本所有操作都是本地执行 也就是说在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息
直接记录快照, 而不是差异比较
git的记录快照
Git快照是指 在原有的基础上重新生成一份新的文件 类似于备份 为了效率, 如果文件没有修改 Git不会重新存储该文件 而是只保留一个链接 指向之前存储的文件
虽然这样有点占用磁盘空间 但是可以快速切换版本 方便我们维护
Git的三个区域
Git有三个区域 分别是 工作区 暂存区 Git仓库
工作区 指的是我们处理工作的区域 就是我们对代码进行修改之类操作的地方
暂存区 指的是 我们已经完成的工作临时存放的区域 等待被提交
Git仓库 指的是 我们最终存放的区域
Git中的状态
- 已修改
modified
**- 表示修改了文件,但还没将修改的结果放到暂存区
- 已暂存
staged
- 表示对已修改文件的当前版本做了标记,使之包含在下次提交的列表中
- 已提交
committed
- 表示文件已经安全地保存在本地的 **Git 仓库中
基础的Git工作流程
第一步 在工作区中修改文件
第二步 把你想要下次提交的文件的更改进行暂存
第三步 提交更新,找到暂存区的文件 将快照永久的存储到Git仓库
Git基础
配置用户信息
安装完Git以后 第一件事就是设置自己的用户名和邮箱
因为Git多用于多人一起开发的项目 这样也方便清楚是谁进行了维护和修改之类的
用户名绑定
git config --global user.name “您想要的名字”
这里需要注意的是 空格 是不可以省略的
邮箱绑定
git config --global user.email “您的邮箱”
查看绑定是否成功
git config --list --global
获取Git仓库的两种方法
将尚未进行版本控制的本地目录转换为 Git
仓库
如果自己有一个尚未进行版本控制的项目目录,想要用 Git
来控制它,需要执行如下两个步骤:
① 在项目目录中,通过鼠标右键打开“Git Bash
”
② 执行 git init
命令将当前的目录转化为 Git
仓库
git init
命令会创建一个名为 .git 的隐藏目录,这个 .git 目录就是当前项目的 Git 仓库,里面包含了初始的必要文件,这些文件是 Git 仓库的**必要组成部分
从其它服务器克隆一个已存在的 Git
仓库
emm 因为我还没有工作 也没有服务器 所以暂时无法演示
简单的说 就是把别人的Git仓库克隆一份给自己
文件的四种状态
文件在Git中有四种状态
在工作区的文件 文件名会显示红色 他有以下两种状态:
未跟踪
已修改
在暂存区的文件 文件名则是绿色 它的状态为 已暂存
在Git仓库的文件 则是白色 只要进了Git仓库 就是未修改状态
显示文件状态
git status
以精简的方式显示文件状态
git status -s
git status --short
跟踪新文件
git add + 文件名
如果文件过多 文件名可以写 点 =>.
提交更新
git commit -m “内容”
修改文件
修改文化在使用 git status
会得到我们的文件显示 已修改
然后我们暂存已修改的文件
接着我们再次使用 git commit -m " "即可
撤销对文件的修改
**撤销对文件的修改指的是:**把对工作区中对应文件的修改,还原成 Git 仓库中所保存的版本。 这个我们一般在vscode中修改
**操作的结果:**所有的修改会丢失,且无法恢复!**危险性比较高,请慎重操作!
移除文件
移除文件有两种 一种是在Git仓库和工作区中同时移除对应文件
一种是只从Git仓库中移除指定文件 但是在工作区中还是保存对应的文件
同时移除
git rm -f 文件名
只从仓库中移除
忽略文件
忽略文件需要在文件夹中新建一个gitignore文件
然后在文件中书写我们需要忽略的文件
查看提交历史
git log 代表查看提交历史版本
log后面可以 加上 -+数字
比如说 -2 就是查看最近两条
以此类推
回退历史版本
git reset --hard +要退回的版本
如果想改回来
我们先用 git reflog 查看历史版本
然后改回来