学习Git之本地仓库Git是如何使用的
@toc
上一期我们说了Git是什么,Git的优点和缺点,还有Git是如何工作的。具体链接→点击跳转←
这一期我们来说说Git在本地仓库是如何使用的
一、Git的初步配置、检查配置、创建仓库
1、Git的初步配置
当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改
git config user.name "你的姓名"
git config user.email "你的邮箱"
-- global全局配置
通过 --global
选项可以设置全局配置信息
git config --global user.name "你的姓名"
git config --global user.email "你的邮箱"
2、 Git是如何检查配置的
# 打印所有config
git config --list
# 打印指定config
git config user.name
3、Git创建仓库 --- 初始化
进入希望纳入 git 版本控制的项目目录,使用 git init
初始化,然后初始化后的文件夹能看到的区域就叫工作区
git init
该命令将创建一个名为 .git
的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这个目录也是上面我们说的三个区域之一,这个目录也是 Git 保存数据记录的地方,非常重要,如非必要,不要轻易改动
4、工作流与基本操作
当一个项目被 Git 初始化以后,只是表示我们希望通过 Git 来管理当前的这个项目文件的不同时期版本记录,但是这个时候项目中已存在的文件,或者以后新增的文件都是没有进入版本控制管理的,它们是 未追踪(Untracked)
的状态
二、Git对文件进行的操作
1、Git文件夹创建文件
既然 Git 是一种对文件进行操作的软件,那么Git肯定也是可以创建文件的,创建出来的文件会被存放在工作区
git >(文件名.后缀名)//可已创建一个文件
2、添加工作区文件到暂存区
暂存区就是通过 git add 文件存放的地方在要提交之前
git add 文件
# 添加单个文件
git add 1.txt
# 添加多个文件
git add 2.txt 3.txt
# 添加整个目录
git add ./a
# 添加多个目录
git add ./b ./c
# 添加所有文件
git add .
3、查看当前工作区文件状态
创建完文件之后我们怎样才能知道当前文件处于什么状态呢? 这个时候我们就要用一个新的git方法了 git status 查看当前工作区的文件的状态
git status
这里图片中的 use git add 意为需要将文件添加到暂存区**
这里的No commits yet 意为 当前文件已经被添加至暂存区,等待提交到仓库
4、暂存区的文件提交至本地仓库
git commit -m 备注信息
将暂存区里的改动给提交到本地 git 仓库又称创建版本,也就是为这次工作(一般会把某个具有特定意义的工作作为一个版本,它可以是多个文件的变化)
- 每次提交同时会生成一个 40 位的哈希值,作为该次提交版本的唯一 id
- 并且我们每次提交都需要在后面备注一条提交信息,让人知道你提交时干了什么
之后会显示当前暂存区文件已被清空
5、查看提交日志
当然我们既然可以提交创建版本
git log
// 完整格式
git log
// 简要格式(单行)
git log --oneline
这里看到了乱码,原因是因为这些地方都是一些中文,所以会乱码输入以下几行代码就可解决乱码
git config --global core.quotepath false
git config --global gui.encoding utf-8
git config --global i18n.commit.encoding utf-8
git config --global i18n.logoutputencoding utf-8
set LESSCHARSET=utf-8
这时就可以看到乱码已经好了
6、修复提交
git commit --amend
修复(替换上一次)提交,在不增加一个新的提交版本的情况下将新修改的代码追加到前一次的提交中
git commit --amend -m 提交
可以看到这一次的提交覆盖了上一次的提交
7、删除
git rm
可以删除指定仓库的文件
# 从 git 仓库与工作区中删除指定文件
git rm 文件
# 只删除 git 仓库中的文件
git rm --cached 文件
# rm 以后,需要 commit 这次操作,否则 rm 将保留在暂存区
git commit -m 修正
8、撤销重置
git reset
从暂存区中撤销到工作区
// 从暂存区中撤销一个指定文件
git reset HEAD 文件名称
// 从暂存区中国年撤销所有文件
git reset HEAD .
该命令既可以用于回退版本
# 回退到指定的 commitID 版本
git reset --hard commitID
比较版本文件的不同之处
# 比较 工作区和暂存区
git diff 文件
# 比较 暂存区和仓库
git diff --cached [commitId] 文件
# 比较 工作区和仓库
git diff commitId filename
# 比较 仓库不同版本
git diff commitId1 commitId2
还有一点分支咱下次再说