Git

Git 基础篇

2019-09-30  本文已影响0人  任未然

Git

git [git] 是一个分布式的版本控制系统。官方网站地址:https://git-scm.com/

git官网截图

一. 简介

1.1 Git的工作模式

​ 我们自己的计算机从版本服务器同步代码,日常开发的过程中90%以上的操作都是在本地计算机,在本地操作完成后需要推送到远程服务器。

1.2 Git的三种工作状态

1.3 本地库与服务器库

二. Git的基本命令(本地仓库管理)

三. 修改用户信息

在提交信息的时候会显示提交人的用户名和邮件,可以自定义该信息,可以在两个全局和局部进行设置:

设置全局的信息使用如下命令:

git config --global user.email "zou@qq.com"
git config --global user.name "miller"

设置局部信息使用如下命令:

git config --local user.email "zou@qq.com"
git config --local user.name "miller"

四. git rm与rm的区别

4.1 使用 rm 命令删除文件,如下:

4.2 使用 git rm 删除文件,如下:

4.3 说明

五. .gitignore

​ 在Git中,有些文件或者文件夹并不需要纳入到版本控制系统,例如maven编译后的target目录,ide的配置文件,所以Git提供了一个非常优秀的解决方案,就是.gitignore。需要在Git的版本库中创建一个名为.gitignore的文件,文件的语法如下:

settings.xml     #将同级目录下的settings.xml文件忽略
/target          #忽略/target目录以及所有的子目录和文件
/*/test          #忽略掉/abc/test  /def/test,但是不能忽略掉/a/b/test
/*/*.iml         #忽略掉/abc/a.iml /def/bcd.iml,但是不能忽略掉/a/b/cde.iml
/*.java          #忽略掉User.java, 但是不能忽略/com/Person.java
/debug/*.java    #忽略掉/debug/A.java, 但是不能忽略掉/debug/a/C.java
*.log            #忽略掉所有的以log结尾的文件
bin/             #会忽略bin目录以及所有的子目录,但如果bin是文件则不忽略

六. 分支

6.1 Git提交的原理

​ Git每次在提交的时候,会生成一个提交对象,那么这个新生成的提交对象有一个指针,该指针会指向上一次的提交对象,如下图所示:

6.2 分支的原理

Git 的分支,其实本质上仅仅是指向提交对象的可变指针。 Git 的默认分支名字是 master。 在多次提交操作之后,你其实已经有一个指向最后那个提交对象的 master 分支。 它会在每次的提交操作中自动向前移动。Git 的 master 分支并不是一个特殊分支。 它就跟其它分支完全没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它,并且大多数人都懒得去改动它。

HEAD其实就是一个指针,指向的是当前用户所处的分支,可以在.git这个目录下的HEAD文件中查看到信息。

6.3 分支的合并

七. 版本的回退

八. 保存工作现场

当我们正在某个分支上工作的时候,而功能并没有完善,又或者代码没有编写完成,此时也不能提交。而被领导要求在其他分支上进行操作,在其他分支上也可以看到修改状态,可能造成在其他分支上误操作导致提交。这个时候就需要用到工作现场。

九. 标签与diff

9.1 标签

标签的作用是当项目发布一个里程碑的时候,给其一个做个标记,往往用来指定版本。标签的命令如下:

9.2 diff

diff命令是源于linux操作系统中的命令,用于查看两个文件中的区别,git也提供了该功能,命令如下:

其他命令

命令的区别:

上一篇 下一篇

猜你喜欢

热点阅读