前言
我们在前面的基础篇中学习了 Git 中基本内容,这些内容涵盖了工作内容的 90%,剩下的 10% 则是属于 Git 当中的进阶内容。
分支的合并方式
在大多数情况下,我们都会采用 merge 方式进行分支的合并,这符合绝大多数的项目,但是某些项目也会采用 rebase 方式进行分支的合并。
merge
merge 方式我们在前面提到过,您需要...
前言
在前面的文章中,我们知道 Git 的配置文件有三个:
系统配置文件 - 针对任意登录操作系统的用户都生效。在 Windows 中,这里的配置修改对应于 Git 安装目录下面的 /etc/gitconfig 文件中的内容;在 GNU/Linux 中,若是从存储库中安装的 Git, 则配置修改对应于 /etc/gitconfig 文件中的内容
...
概述
Git 除了可以操作本地仓库中的内容,还可以将本地仓库中的内容推送到远程仓库上。所谓的远程仓库,其实就是指代码托管平台,常有:
Github
Gitlab
Gitee
...
代码托管平台也可以从网络环境上进行划分:
局域网环境(自建 Gitlab)
公网环境,多人协作工作(Gitlab、Github、Gitee)
从项目角度来说:
...
前言
在日常生活中,标签(tag)就如其名称一样,是为了给某些事物做标记,方便下次快速寻找。
在 Git 中,除了 commit id 、提交信息之外,我们还可以给某次提交记录打上一个标签,方便下次快速寻找和定位。标签在 Git 中不是必须的,您可以根据需要选择性地添加,既可以在新提交记录上添加标签,也可以在已有的提交记录上添加标签。
Git 中的...
说明
在采用 merge 方式合并时,不是任何时候都会合并成功,有时会在合并时产生冲突。我们来看如何解决这种合并冲突的问题。
有这样的一个场景:
开发一个项目,大家都是团队协作一起开发。某天,开发人员 A 和测试人员 B 都 clone 了远程代码库,开发人员 A 首先追加了某个文件最后一行的内容,且推送到了远程代码库成功。此时测试人员 B 也编...
简介
一个公司,不管是做 web 开发产品还是app开发产品,极少数是一个人来完成的。拿 JD 电商为例,这样一个庞大的系统涉及到的远不止这些,根据 JD 自己的说法,其投入的研发人员超1.8w人(不含外包)。
每个开发人员都负责自己的那部分模块的代码,并将修改后的代码提交到主分支之外的分支上,负责人再将修改后的代码进行合并。一些 bug、功能、性...
前言
本文档您将学习如何使用 Git 进行版本回退以及日志方面的查看。
commit id
在版本回退之前,您需要知道 commit id,commit id 指的是每一次提交之后,都会有一个 ID 号作为标识,例如我这三次的提交:
PS > cd E:\git-test\
PS > git log
commit 47d9368938...
内容说明
在 Git 中,可以使用 .gitignore 文件来忽略哪些文件不需要进行跟踪。该文件的内容格式说明:
所有空行不匹配任何文件或目录,仅作为内容的分隔符来方便阅读
以 "#" 开头的行表示注释
每一行都表示一个忽略规则(模式匹配)
冲突的内容可使用 "\" 进行转义。比如以 "#&qu...
前面我们说所谓的 **版本控制**,其实指对文件历史版本修改的控制,因此了解文件的状态非常重要。
在 Git 中,有这么几种文件状态:
基本理论
在学习 Git 之前,我们需要了解 Git 的结构,因为我们使用的绝大多数 git 命令都围绕着这几个结构展开:
在本地的计算机中,Git 拥有三个工作区域:
工作目录(Workspace,工作区) - 即本地存放代码和项目的一个目录
暂存区(Stage/Index) - 如同其名字一样,表示临时存放项目代码改动的区域,其本质是一个简...