目录

Git基本概念及使用

Git基本概念及使用


一、git安装

网盘:

提取码: t3yi

https://i-blog.csdnimg.cn/direct/3bd91fa5a7c047f8b349e0c2b9c3f575.png

https://i-blog.csdnimg.cn/direct/365a1a1aa5fc48519f6b26158593d67b.png

https://i-blog.csdnimg.cn/direct/8b68a14f38e9475680f6eaf09658f47a.png

https://i-blog.csdnimg.cn/direct/5c9201ddbc6e4c74937db5fd194ea9e7.png

https://i-blog.csdnimg.cn/direct/f6b407293b59491087f13a2dad8c82da.png

https://i-blog.csdnimg.cn/direct/194b1a1a76e64446b0add5042a8fbd35.png

https://i-blog.csdnimg.cn/direct/b3866d611cf34316930bb627ea627934.png

https://i-blog.csdnimg.cn/direct/35f39493f208495fa44190c092059ffd.png

https://i-blog.csdnimg.cn/direct/14d949d2e30b4122a3f3c8c5c6f6cc5e.png

桌面右击,看到如图所示的Git Bash和Git GUI即为安装成功

https://i-blog.csdnimg.cn/direct/c33129656531429b9ed57a71adfeb021.png

二、git仓库基本概念

1. 远程仓库(Remote):

也叫作资源库,是远程机器上的代码库,用于做不同版本库文件交换更新。如Gitlab,GitHub,gitee。

2. 本地库(Repository):

是用户在本地创建的目录,拥有远程库的一个快照,由工作区和版本库构成。

工作区(Workspace):本地库的根目录中除.git目录以外的内容,存储内容的实际文件。

暂存区(stage/Index):也叫做缓存区,暂存信息存放在.git目录"下的index文件(.git/index)中,用于临时保存内容的修改;

版本库(.git目录):是本地库的根目录中的一个隐藏目录.git,用于记录版本信息,Git进行版本控制所需要的文件,则都放在.git文件夹中;

3. 分支(Branch):

本地库中默认创建一个主(master)分支,分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

4.本地库和远程库的关系

https://i-blog.csdnimg.cn/direct/919ddb09631440449a65ec49a99acb88.png

开发人员通过Git命令来管理代码,最常用的6个命令如下图所示:

https://i-blog.csdnimg.cn/direct/d943e1081bba48dba5bbd8f4aaada836.png

三、git仓库的工作流程

从一般开发者的角度来看,使用Git的工作流程是:

1. 克隆远程库:从远程库上克隆完整的Git仓库(包括代码和版本信息)到本地;

2. 在本地库上修改代码:在本地库上根据不同的开发目的,创建分支,修改代码;

3. 提交到分支:在本地分支上提交代码;

4. 把修改合并到本地主分支:在本地库上提交更新,也就是说,把修改合并到本地主分支;

5. 把远程库合并到本地主分支:把远程库上的最新代码fetch下来,跟本地主分支合并,如果存在冲突,那么解决冲突。

6. 把本地主分支提交到远程库:生成补丁(patch),把补丁发送给远程库。

https://i-blog.csdnimg.cn/direct/44e5dda6f5df49c0a39c5fe288d03a36.png

四、git命令

1.创建版本库

E盘下 目录下新建一个testGit版本库,右键通过命令行的方式打开窗口

https://i-blog.csdnimg.cn/direct/10dcc2bd3fdd43d0b0301d1cfd769ac4.png

https://i-blog.csdnimg.cn/direct/c79fb79834ec4d229e27dbad06e75dbf.png

通过命令 git init 把这个目录变成git可以管理的仓库,如下,可以通过cd git进入git目录,ls-la查看git文件

https://i-blog.csdnimg.cn/direct/be51df02fcf84283813c0c09dd7318bd.png

https://i-blog.csdnimg.cn/direct/32fc539e8a6449c1ab0bf66976e71896.png

2.添加文件和修改提交文件

(1)创建文件readme.txt, 此刻文件在工作区(WorkSpace)

https://i-blog.csdnimg.cn/direct/89f4237a526a4b9e88ffabb48c37e889.png

(2)通过git status可以查看文件追踪的情况

https://i-blog.csdnimg.cn/direct/10ff87c56c084e4b96c22342aee6687e.png

(3)使用命令 git add readme.txt添加到暂存区里面去。

https://i-blog.csdnimg.cn/direct/746298e299a94f649ca0b0d2e5a2480b.png

我们可以看到readme.txt目前处于暂存区。

https://i-blog.csdnimg.cn/direct/81c28bdd5cb440aeaeac708e1408b635.png

(4)提交多个文件:在add后面指定文件的列表

https://i-blog.csdnimg.cn/direct/d32c400947844441a94acb6e834fe250.png

(5)添加工作区所有文件到暂存区:git add .

https://i-blog.csdnimg.cn/direct/8d1448298ff14bffb39f7b9f5bbe23a3.png

(6)将文件撤销回工作区:git rm –cached readme.txt

https://i-blog.csdnimg.cn/direct/19fa584794c6454490920503b7b8e8f6.png

(7)提交文件到主分支: git commit -m ‘first commit’

暂存区的文件被提交,工作区的文件不动

https://i-blog.csdnimg.cn/direct/38cd2815654c43a086e2719a81808240.png

(8)修改文件

修改后文件进入工作区, 提交修改后的文件, 通过checkout上一个版本的文件来覆盖修改后的文件:git checkout – readme.txt(注意 :–后面要有空格)

https://i-blog.csdnimg.cn/direct/26a3ecdd6a5e480baec87d7af7bc6d82.png

https://i-blog.csdnimg.cn/direct/61c7fb19d2474cdaa0f1d066d926741f.png

3.版本回退

(1)日志查看:git log

https://i-blog.csdnimg.cn/direct/2a9636ae70ba4ba7a6f97cc47a6180a9.png

(2)版本回退:git reset –hard HEAD^(回退上一个版本)git reset –hard HEAD~100(回退至前100个版本)

https://i-blog.csdnimg.cn/direct/d4d2775e997a42fdb107971c3a32cdda.png

(3)回退撤销,即回到最新的版本

通过如下命令即可获取到版本号:git reflog ,然后根据版本号回退,可以看到readme.txt回到最新版本

https://i-blog.csdnimg.cn/direct/40ae0466e70a44d4a70ccc8b654840c4.png

https://i-blog.csdnimg.cn/direct/fc7f50e0d715431fa17433db27bdd8b2.png

4.删除文件

一般情况下,可以直接在文件目录中把文件删了,或者使用如上rm命令:rm b.txt ,如果我想彻底从版本库中删掉了此文件的话,可以再执行commit命令 提交掉。

git rm test1.txt

https://i-blog.csdnimg.cn/direct/50dc262c2e6940038c58a95d3ce8ea7b.png

我们发现删除的文件直接进入暂存区(此刻需要注意,如果使用rm删除不在暂存区,需要git add才会进入暂存区。如果进入暂存区可以退回工作区,使用下面命令 git reset HEAD test.txt),提交之后文件被删除。

https://i-blog.csdnimg.cn/direct/5b4f40cf231f437386505521804f8402.png

五、Git配置信息Config

在git中,我们使用git config 命令用来配置git的配置文件,git配置级别主要有以下3类:

1、仓库级别 local 【优先级最高】

2、用户级别 global【优先级次之】

3、系统级别 system【优先级最低】

git 仓库级别对应的配置文件是当前仓库下的.git/config

git 用户级别对应的配置文件是用户宿主目录下的~/.gitconfig

git系统级别对应的配置文件是git安装目录下的 /etc/gitconfig

1.查看config配置信息

git config --local -l 
git config --global -l 
git config --system -l

https://i-blog.csdnimg.cn/direct/e084f843f4e94eeead3bac1682541556.png

2.修改config

演示修改用户名和邮箱:

git config –global user.name “renliang”

git config –global user.email “ ”

https://i-blog.csdnimg.cn/direct/08205cd5298e46a680316d72a0eaaeb1.png

注意不要手动修改 每个级别的配置文件,要用命令。

对于git来说,配置文件的权重是仓库>全局>系统。Git会使用这一系列的配置文件来存储你定义的偏好,它首先会查找/etc/gitconfig文件(系统级),该文件含有对系统上所有用户及他们所拥有的仓库都生效的配置值。接下来Git会查找每个用户的~/.gitconfig文件(全局级)。最后Git会查找由用户定义的各个库中Git目录下的配置文件.git/config(仓库级),该文件中的值只对当前所属仓库有效。