前言
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术,可以实现项目多人协作开发,对相关话术进行说明:
- 工作区:可以理解为git仓库所在的目录,工作区有一个隐藏目录
.git
,这个不算工作区,而是Git的版本库。 - 版本库:Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支
master
,以及指向master
的一个指针叫HEAD
。 - git add命令是将文件添加至暂存区,git commit是将内容提交至当前分支。
参考文档
环境配置
首先进入软件的下载,进入git官网,根据自己的需求下载即可,本次主要针对windows进行讲解说明,下载完成后直接进行安装即可,安装时根据自己的需求选择所需的配置,安装完成后如下图所示:
安装完成后进行相关的设置:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
运行完后生成一个.gitconfig的文件,使用Notepad++打开,可以看到配置文件:
git-bash和git-cmd为我们常用的,git-bash类似于linux和unix的命令行,git-cmd类似于windows的命令行,我们本次使用git-bash,为了便于我们使用,先对常用命令行进行介绍:
- cd ,改变目录(如:cd ~回home、cd .. 返回上一目录)
- pwd,显示当前目录,如:shanyonggang@02CZLDZB024 MINGW64 ~$ pwd /c/Users/shanyonggang
- ll和ls ,显示当前目录的所有文件
- touch,新建一个文件 如 touch text.txt就会在当前目录下新建一个text.txt文件。
- rm,删除文件
- mkdir,新建目录,即新建一个文件夹
- rm -r,删除一个文件夹
- mv,移动文件
- reset,重新初始化终端
- clear,清除屏幕
- history,查看历史命令
- cat,查看文件内容
创建版本库
选择合适的地方创建一个新目录(博主在E盘下创建了learn_git文件夹):
$ cd E:\learn_git
使用git init命令将此目录变成git可以管理的仓库:
shanyonggang@02CZLDZB024 MINGW64 /e/learn_git
$ git init
Initialized empty Git repository in E:/learn_git/.git/
完成后会在该目录下生成.git的文件夹,此文件夹可能在隐藏的,windows如何查看可以参考Windows:显示隐藏文件或文件夹,也可以使用命令,ls -ah即可看到有.git文件
在该目录下添加一个test.txt文件,内容随意写,完成后使用git add命令将文件添加到仓库:
shanyonggang@02CZLDZB024 MINGW64 /e/learn_git (master)
$ git add test.txt
完成后没提示任何命令,则说明成功
用命令git commit
告诉Git,把文件提交到仓库:
shanyonggang@02CZLDZB024 MINGW64 /e/learn_git (master)
$ git commit -m 'first commit'
[master (root-commit) 13ef42c] first commit
1 file changed, 12 insertions(+)
create mode 100644 test.txt
-m 后面表示内容的修改说明(此处可以写自己本次更改的大致内容,便于自己后续查找某版本)
修改版本
前面我们已经了解了如何提交文件到仓库,修改也类似,先对文件进行修改,然后进行相应的添加、提交,但当我们发现出现问题想撤回到我们所需要的版本时候,可以按下述进行操作,首先学习一个新命令,git log命令可以进行查看,首先我们对test.txt文件进行两次修改:
shanyonggang@02CZLDZB024 MINGW64 /e/learn_git (master)
$ git add test.txt
shanyonggang@02CZLDZB024 MINGW64 /e/learn_git (master)
$ git commit -m "delete something"
[master 6a485b2] delete something
1 file changed, 4 deletions(-)
shanyonggang@02CZLDZB024 MINGW64 /e/learn_git (master)
$ git add test.txt
shanyonggang@02CZLDZB024 MINGW64 /e/learn_git (master)
$ git commit -m "add something"
[master cc8a888] add something
1 file changed, 2 insertions(+)
上面我们对test.txt文件进行了更改,接下来使用git log命令查看: