前言
若您刚毕业却对企业应聘要求的Git一无所知,那么阅读本篇可以帮您快速上手
Git是什么
Git是管理项目的版本控制系统,管理项目是指利用Git创建本地或者远程仓库来保存你的开发项目,在多人协同开发项目时,通过Git提交新代码文件进而是的开发项目功能更加完善,在不小心删除某一项目文件,或者更改某一代码忘记在哪个项目文件中内,利用Git回滚到初始状态,以及开发项目谁提交错误代码导致开发进度减缓的追责问题,版本控制是指软件开发中的各种代码,配置文件以及说明文档等文件变更的管理,跟踪项目的修改历史记录,合并代码更改,并且在需要的时候能够将你的项目恢复到较早的版本等等,最主要的功能是追踪文件的变更
Git和Svn的区别
提起Git我们就不得拿SVN做对比,Svn和Git功能一样,但逻辑不同
Git是分布式管理版本控制器,它的远程服务器(中央仓库)和每个终端(本地仓库)都是一个完全相同且独立的仓库,拥有所有的项目内容及信息,若远程端服务器项目损坏,服务器瘫痪,都不影响每个终端的开发,同时也可以通过任意终端对远程服务器进行项目恢复,且除了pull和fetch需要与远程服务器交互外,其余命令都可以本地操作,单独开发不联网
Svn是集中式管理版本控制器,它只有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同开发的人通过终端连接到这台服务器,所有的Svn命令都需要与中央仓库进行交互,例如取出最新的文件以及提交更新,集中管理服务器瘫痪,或者项目文件丢失,开发暂缓或停止
安装Git
1.若您是windows系统,请点击此处进行下载
2.若您是linux系统,在终端输入
sudo apt -y install git
如果找不到就用search搜索一下
sudo apt search git
配置Git环境
1.创建仓库
创建仓库的条件是需要一个空目录作为承载,选择你想要仓库存在的位置,先创建一个空目录,
1.1windows系统的创建仓库
我想要在用户的家目录下创建一个名为repository,当然你想在哪创建仓库都可以
1.2linux系统的创建仓库
我想要在用户的家目录下创建一个名为repository的仓库,选择cd ~命令前往家目录,选择创建文件命令mkdir reposiory即创建完成
2.初始化仓库
我们只是创建了一个空文件夹,怎么它就变成了仓库呢?于是这里我们就要对这个文件夹进行Git初始化将它变成可以替我们管理项目的仓库了
2.1windows上初始化仓库
windows初始化仓库,我们进入刚刚创建的repository文件夹中(以后也是需要对哪个文件夹进行Git初始化必须进入到此文件夹内部),右键Git Bash here,输入git init,发现repository内生成.git文件,于是repository就变成了我们可以使用Git管理的仓库了,这里要说明一下Git GUI here与Git Bash here的区别,前者是采用图形化界面的方式进行Git操作,后者是命令行的方式进行Git操作
2.2 linux下初始化仓库
content
3.配置Git环境
从这一步起,无论Windows还是Linux都是基于命令行的操作了,我们以windows操作为例,Linux同理
前面提到我们使用Git进行协同开发的时候谁提交了错误代码的追责问题,怎么确定是谁往项目上提交Bug呢?项目出了问题又如何分配相关责任?这就引入了你自己的Git标识的概念,Git标识类似于一个电脑只能有一个独一无二的IP,通过Git标识来定位你在Git上做了什么事情,我们采用用户名加邮箱的方式来表达Git标识,当然这个邮箱现实中存在不存在都无所谓,它仅仅作为标识来用
使用Git config --global user.name "你的用户名称"
使用Git config --global user.email "你的邮箱名称"
我们也可以使用git config --global user.name
git config --global user.email来查看我们的用户名称和邮箱是多少
4.下面我们以如下图片讲解Git本地仓库的工作流程
Git提交需要两步,一将工作区文件添加到暂存区,二将暂存区文件提交到仓库,只有提交到仓库才算真正提交,下面我们介绍这三个区域
1.工作区(workspace)
如果有.git目录生成代表仓库创建成功了,除了.git之外的目录全部都是工作目录,也就是工作区,工作区内的文件不受git管理,它拥有两种状态,
untracked(未跟踪)表示该文件处于工作区,不受git管理,若要git管理请先git add添加至暂存区再提交至本地仓库,下面我们模拟这个情况进行一步完整的流程
提交到git暂存区使用git add "你需要添加到暂存区的文件名",例如我们在仓库内创建一个file01.txt的文件
使用git status命令来显示工作区和暂存区状态
显示Untracked文件,证明我们还没有添加至暂存区,我们使用git add file01.txt命令先提交至暂存区再使用git status查看文件状态
发现提示要提交的更改file01.txt这时文件已经进入了暂存区,现在我们使用git commit -m "提交文件的说明或者介绍"的方式来提交文件至本地仓库,然后再用git status查看文件状态
我们发现提示没有什么需要去提交的,工作树很干净,证明我们所有的工作已经完成了
unstaged(未暂存)表示一个文件提交后被打开进行了修改,若要保存修改内容请先添加至暂存区,然后提交至本地仓库,下面我们模拟这个情况进行一遍完整的流程
现在我们修改file01.txt文件,前面由于我们创建文件的时候没有添加内容,现在我们给它添加一句话,这里我们添加hello world
然后我们查看修改后文件的状态git status
发现是modified文件,证明我们对文件修改后是unstaged状态,位于工作区,现在我们使用git add . 来添加至暂存区,这个命令会将当前目录下包括子目录下所有改动的文件提交到暂存区,注意只包括改动的文件,不改动的不会放到缓存区。
那个警告是文件换行符的问题,Unix/Linux的换行符会补windows换行符的存在,忽略即可,然后再提交,至此完成