Git基础篇(十一)——Git标签管理
Git基础篇(十一)——Git标签管理前言: 为了更方便的对提交进行操作,可以使用Tag,使用它将使得版本迭代关系更清晰,对比较的操作更便捷。
1 Tag有什么用? 每个提交都有一个唯一的Hash值与其一一对应,但这是难以记忆的,我们可以给某个提交取“别名”,这样便于区分记忆,也能通过“别名“对该提交进行操作。
2 Tag创建 为当前提交创建一个Tag可以使用指令git tag。
1git tag <tagname>
如果要给过去的提交追加Tag,可以在末尾指定提交的Hash值。
1git tag <tagname> <hash ID>
当前分支添加标签,但此种形式不不会为标签添加注释。如果要新建标签且为标签添加注释可以使用 -a 参数,加上 -m 参数可以在不进入vi模式下进行注释编辑。
1git tag -a <tagname> -m "comment"
同样的,如果要给过 ...
Git高级篇(一)——Git注释规范
Git高级篇(一)——Git注释规范前言: 为每一次的Git提交都打上Log是一个好习惯,在协作开发时统一一种注释风格,为提交写上简洁明了的注释是重要的,本篇文章介绍一种Git注释规范。
1 GCM(git commit message)格式 使用Angular的GCM格式,将注释信息分为是三个部分,header、body、footer,它们各占一行。header必写但其scope是可选的,body和footer也是可选的。
12345<type>(<scope>): <subject><body><footer>
每行不超过100字符。
1.1 header header占一行,包括三个字段type(必须)、scope(可选)、subject(必选)。
1.1.1 Type type的规则为下列之一:
feat:新功能(feature);
fix:修补bug;
docs:文档修改;
style:不影响代码含义 ...
Git高级篇(二)——Git分支开发
Git高级篇(二)——Git分支开发前言: 灵活的分支开发模式是Git的一大亮点,针对不同的开发任务,创建不同的分支任务。
1 分支构成
master:主分支。是永久分支,与线上版本保持一致;
develop:开发分支。也是永久分支,是进行代码开发的主要分支,从master分支拉取;
feature:功能分支。属于临时分支,针对特定功能开发的分支。一般一个独立的功能创建一个feature分支,若几个功能存在依赖关系,则只创建一个feature分支开发它们;
release:预发布分支。属于临时分支,由develop创建出来的分支,以此分支为基准进行提测;
hotfix:修补分支。属于临时分支,该分支主要用于修复线上bug;
master和develop是两条必要的主要分支,前者是正式版本的发布,后者用于日常的开发,而feature、release、hotfix是三条临时分支,用于一些特定目的的版本开发,一般临时分支完成开发后应该删除。其实简化的分支开发管理只需要master和develop两个分支。
1.1 master分支&emsp ...
2021春节孤感
2021春节孤感前言: 人生每到一个阶段就会有新的感悟,看透一些事,叹息一些事,迷茫一些事。每到一定阶段就将这些感悟记录下来,虽然现实知己难遇,但未来的自己一定可以理解此刻的“我”,让未来的自己不要忘记这些经历和感悟,更好的去珍惜人生。
1 学会宽松,不要过于较真 我是一个技术迷,除了在上班996的时间,甚至稀少的“自由”时间也宅在家里研究技术。鲜少与家里通话,从未带女朋友出去游玩,也没有一个经常联络的朋友,即使我迷恋的编程技术,也没有可以在技术上交流的伙伴。直到写这篇文章的此时此刻,我正处于这种“孤独”的状态,也许将永远处于这种状态。 2020年从3月份回深圳到过年前一天,我的映像就是工作,然后工作,再继续工作。每天都有写不完的代码,处理不完的事情,不时出现的“麻烦”。有过抱怨、愤慨、疲惫,但是一旦陷入工作的深海之中似乎就会忘记回到海面看看阳光。做越多的事情,就会遇到更多的问题,更多的问题又反过来需要你做更多的事情,仿佛陷入了一个螺旋下坠的怪圈,前方是高压黑暗的深海。
1.1 工作不求多,专注抓重点 &ems ...
Git基础篇(十)——Git分支管理
Git基础篇(十)——Git分支管理前言: 强大的分支管理是Git版本管控的一大亮点,这是真正学会使用Git的关键。
1 理解分支 说道分支管理首先要理解什么是分支。在前面的文章中我们提到过,Git会将我们提交的版本按照时间线进行串起来,然后HEAD就像指针一样会指向这些版本,整个就像数据结构中的链表一般。 当我们创建仓库时Git会为我们创建一个名为“master”的分支,通常我们将其作为主分支。
就像上面这张图,每一次版本提交就是一个节点,每一个分支就像一个指向节点的指针,比如master分支就存在一个master指针指向节点,而HEAD也是一个指针,它指向master。 如果存在多个分支,就对应多个分支指针指向节点,要分支切换操作就是将HEAD指向其他分支指针的过程。比如存在master和dev两个分支,而当分支切换到dev时,即为HEAD指向dev指针。
所谓分支合并即为不同分支指针指向同一版本节点,仅在分支刚创建和合并分支时出现分支指针指向 ...
Git基础篇(九)——编辑gitignore文件
Git基础篇(九)——编辑gitignore文件前言: 工程目录中有些文件我们并不希望对其进行版本管理,比如工程编译生成的中间文件,个人编辑的某些临时文件等。那么如何让Git知道哪些文件应该版本管理,哪些文件应该忽略呢?这据需要用到.gitignore文件了。
1 .gitignore文件作用 在需要的目录中(通常放在Git管理的项目根目录),创建一个名为 .gitignore 的文件,以此文件所处的路径为基础,相对路径形式指定Git管理时要管理和忽略的文件或目录。下面详细介绍编辑的语法规则。
注释 #符号为行注释,其后的内容会被忽略,用来编辑注释信息。
1# Annotation
2 忽略文件或目录 /符号放在目录名之后,比如忽略工程下的”A”目录及该目录下的所有子目录和文件,忽略”B“目录下的“b.c”的文件,忽略根目录下“main.c”文件,可以这样编辑文件内容。
12345678# Ignore A/A/# Ignore B/b.cB/b.c# Ig ...
Git基础篇(八)——Git删除操作
GitGit基础篇(八)——Git删除操作前言: 前面我们降到了文件提交到Git,那么将不需要的文件删除呢?比如某一次提交不小心提交了不需要的工程副产物文件。
1 删除工作目录文件 工作区的文件正修改的文件实际上还未被Git进行管理,直接删除即可,这里还是介绍一种在命令行窗口中通过指令删除的方法。使用rm指令加文件名形式。
1rm a.c a.h
这样删除的只是工作目录下的文件,不影响暂存区和仓库。
2 删除暂存区文件 指令git rm会同时将文件从工作目录和暂存区删除。
1git rm a.c a.h
如果删除的文件在工作区已经被修改或在暂存区它是本次刚add进来还未commit的,使用git rm指令删除则会出现错误提示,我们可以使用参数-f表示强制删除。
1git rm -f a.c a.h
如果只想把文件从暂存区删除,而不从工作目录删除,也即add指令的反面指令,可以使用--cached参数。
1git rm --cached a.c ...
Git基础篇(七)——Git修改管理
Git基础篇(七)——Git修改管理前言: 对于版本的管理,版本之间的差异对比是常用的操作,检查修改的内容。
1 暂存区和工作目录的差异 通过使用git diff查看当前暂存区和工作目录的差异(只显示差异部分即快照),但不会显示工作空间新增的文件。
1git diff
也可以指定要查看的文件。
1git diff a.c a.h
2 暂存区和本地仓库的差异 想要查看暂存区和当前本地仓库之间的差异可以使用参数--cached或staged。
1git diff --cached
1git diff --staged
也可指定要查看差异的文件。
1git diff --cached a.c a.h
1git diff --staged a.c a.h
3 仓库两次提交的差异 本地仓库存在多次提交时,我们想要比较某两次提交之间的差异,这时候可以指定要比较的两个版本的Hash编号或标签。
1git diff 64a7e38 a141d52
...
Git基础篇(三)——Git工作区域及文件状态
Git基础篇(三)——Git工作区域及文件状态前言: 想要真正熟悉Git用法,必须对Git工作原理有所熟悉。这篇文章介绍Git的集中工作区域和Git中文件的几种状态。
1 Git四种工作区域 Git将存储区域划分为四种:工作目录(Working Directory)、暂存区(Stage/Index)、仓库区/版本库(Repository/Git Directory)、远程仓库(Remote Directory)。
工作目录(Working Directory):就是你的项目目录但不包括”.git“目录,是对文件进行编辑修改的目录;
暂存区(Stage/Index):用于临时存放改动,此时改动已经被Git进行管理。实际上暂存区就是”.git“目录下”index“文件(.git/index);
仓库区/版本库(Repository/Git Directory):核心区域,是存放所有版本提交的区域,内容都存放在”.git“目录中;
远程仓库(Remote Directory):存储在远端进行项目托管的服务器中,比如Github或者公司的某一台充 ...
Git基础篇(五)——Git版本提交
Git基础篇(四)——Git版本提交前言: Git操作的单位是版本,一次提交就是一个版本,而所有版本的集合就是版本库(Repository)。Git的操作就是针对版本的操作,想要熟练掌握Git关键就在熟练的对版本的操作。
1 Git提交1.1 修改提交到暂存区 当对某个文件内容进行修改或新增文件后,我们需要先将这些“变化”提交到 暂存区 。
1.1.1 git add 将工作区当前目录及其子目录内所有变化提交到暂存区,包括修改、新建和删除。
1git add .
将工作区被删除或修改的文件提交到暂存区,不会提交新建的文件。
1git add -u
1git add --update
将整个工作区所有目录内的所有变化提交到暂存区,包括修改、新建和删除。在v2.0以上版本中,与git add .的区别在只是作用范围不同。
1git add -A
1git add --all
如果写明文件名可以指定要提交到暂存区的文件。
1git add a.c ...