git版本控制工具使用指南

1、先看一看版本控制是啥?是干嘛的?
版本控制是指对软件开发过程中各种程序代码、说明文档等文件的变更进行管理。

  • 追踪文件的变化,文件的变更时间、变更内容、甚至变更执行人进行记录
  • 同时对每一个阶段性变更(不仅仅只是一个文件的变化)添加版本编号,方便将来进行查阅特定阶段的变更信息
  • 回滚以前的版本

1-1、人工版本控制器
通过人工的复制行为来保存项目的不同阶段的内容,添加适当的一些描述文字加以区分

  • 繁琐、容易出错
  • 产生大量重复(冗余)数据

1-2版本控制工具
通过程序完成上述人工版本控制行为

  • 方便且功能强大
  • 只记录不同版本之间变化的部分

1-3常见版本控制工具

  • CVS
  • SVN
  • Git
  • ……

2、具体说一说git的使用

2-1 git文件的生命周期
git版本控制工具使用指南_第1张图片
2-2 四种状态
git 提供了四种不同的记录状态

  • 已修改(modified)
  • 已暂存(staged)
  • 已提交(committed)
  • 未追踪 (Untracked)

2-3-1 三个区域

  • 工作目录
  • 暂存区域
  • Git仓库

2-3-2 三个区域关系:工作区是我们能看到的区域,我们在工作区修改增加代码;完成编辑后,我们用git add 将工作区文件添加到暂存区;然后利用git commit 提交文件到我们自己的分支。
git版本控制工具使用指南_第2张图片
2-4 安装
点击一下去git官网下载你需要的版本即可

2-5-1 配置

当安装完 Git 后,去设置你的用户名与邮箱。
这样做很重要,因为每一个 Git 的提交都会使用这些信息,
并且它会写入到你的每一次提交中,不可更改
例如:
设置用户名与邮箱

git config user.name "wangwu"
git config user.email "[email protected]"

通过 --global 选项可以设置全局配置信息

git config --global user.name "wangwu"
git config --global user.email "[email protected]"

git版本控制工具使用指南_第3张图片
2-5-2 检查配置

打印所有config
git config --list
打印指定config
git config user.name
git版本控制工具使用指南_第4张图片

3-1 创建仓库 - repository
进入你要 git 版本控制的项目目录中,使用命令 git init 进行初始化。
git初始化
该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这个目录也是上面所说的工作区域
git版本控制工具使用指南_第5张图片

4-1 查看git状态
git status
git版本控制工具使用指南_第6张图片
如上图,如果文件没有添加到暂存区,没有提交到git仓库,会提示文件是Ustracked未追踪的状态

如果执行git status后有中文乱码,换一个命令如下(允许显示中文):
git config --global core.quotepath false

4-2查看当前目录下的所有文件
ls -a
git查看当前目录下的所有文件

5-1 添加工作区文件到暂存区
添加单个文件 git add one.txt
添加多个文件 git add one.txt two.txt three.txt
添加整个目录 git add ./mulu1
添加多个目录 git add ./mulu1 ./mulu2
添加多个文件 git add .
git添加多个文件到暂存区

6-1 提交到本地git仓库
将暂存区的文件(或修改后的文件)提交到本地仓库
git提交文件到仓库
工作区域区域会生成一个文件COMMIT_EDITMSG暂时存放版本信息
git版本控制工具使用指南_第7张图片
文件demo1.txt提交后,我们发现出现了中文乱码
前面提到我们要查看git状态时,可以执行git config --global core.quotepath false解决乱码问题。
git版本控制工具使用指南_第8张图片

每次提交同时会生成一个 40 位的哈希值,作为该次提交版本的唯一 id

6-2 提交备注
每次提交时填写的备注信息
会调用默认(或自定义)的文本编辑器 git commit
单行备注信息 git commit -m 备注信息
git版本控制工具使用指南_第9张图片

6-3 修复提交
修复(替换上一次)提交,在不增加一个新的提交版本的情况下将新修改的代码追加到前一次的提交中,如下
git commit --amend -m 'this is the last remark'
git版本控制工具使用指南_第10张图片
7-1 删除
删除工作区中的指定文件git rm
git版本控制工具使用指南_第11张图片
删除从git仓库中的文件git rm --cached 文件
rm后,还需要commit操作,不然rm将保留在暂存区
git commit -m 修改
git版本控制工具使用指南_第12张图片
如上图,将暂存区的文件删除了,但工作区中文件还在

7-2 撤销重置
git reset从暂存区中撤销到工作区
从暂存区中撤销一个指定文件 git reset HEAD 文件名
从暂存区撤销所有文件 git reset HEAD .

如下图,添加一个html文件到暂存区
git版本控制工具使用指南_第13张图片
下图,执行撤销重置命令
git重置html文件到工作区
如下图,撤销重置后,提示此文件是Unstracked(未追踪的)
git撤销重置后提示该文件未追踪Unstracked
7-3 回退版本
回退到之前的指定版本git reset --hard 之前提交产生的id

查看提交日志,
git版本控制工具使用指南_第14张图片
提交修改后的html文件,
git版本控制工具使用指南_第15张图片
我们看到产生的新id是0f30b97,上图可知,提交原html文件时产生的id是01f47ce
git版本控制工具使用指南_第16张图片
执行回退命令后,查看日志,我们看到提交的html文件id又回到之前的01f47ce,即回到之前的版本了。
git版本控制工具使用指南_第17张图片

注意:

  • 如果只是执行git config user.name或者git config user.email,这只是获取当前用户名与邮箱
  • 工作区域是git保存数据的地方,很重要,不要轻易修改或删除
  • 项目中已存在的文件,或者以后新增的文件都是没有进入版本控制管理的,它们是 未追踪(Untracked) 的状态
  • 慎用git rm命令,它是直接删除工作区的文件,一般来说删除或修改的是git仓库中的 文件,而对仓库文件的删除或修改操作,不影响工作区的文件

你可能感兴趣的:(git)