文章目录
第一章 git简介
1.1 为什么要使用git
- 在单人开发中,需要进行版本管理,以利于开发进度的控制
- 在多人开发中,不仅需要版本管理,还需要进行多人协同控制
1.2 git介绍
git是一个开源的 分布式 版本控制系统,用于敏捷高效地处理任何或大或小的项目。git最初是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源代码的版本控制软件,官网:https://git-scm.com
1.3 git安装
-
下载git
-
安装,一直下一步即可
-
安装后打开cmd,自报家门
如下信息会在提交代码时要使用,记录在你的每次提交中。以后才知道哪次提交是谁做的,输入git log
命令可以查看
执行:git config --global user.name "YOUR_NAME" # 配置你的用户名 git config --global user.email "YOUR_EMAIL" # 配置你的邮箱 git config -l # 查看信息 git version # 测试:cmd中执行,查看git版本
1.4 git架构
- 工作区:本地的项目目录
- 版本库:存放项目源码的仓库
- 暂存区:暂时存放要提交到分支上的代码的位置
- master分支:正式存放项目源代码的位置
第二章 git的基本操作
2.1 git仓库
- 仓库的概念:仓库其实对应的就是一个目录,这个目录中的所有文件被git管理起来。通常将一个项目的根目录作为仓库,仓库中的每个文件的改动将都由git跟踪
- 创建仓库:
在项目的根目录打开命令行,输入git init
命令来创建仓库
2.2 常用的git命令
-
git status:查看当前git仓库的状态,包括文件是否跟踪、是否提交等
-
git add:将文件添加到暂存区,语法:
git add 文件名/.(当前目录下的所有文件)
-
git commit:将暂存区的文件添加到分支上,语法:
git commit -m "版本描述信息"
第三章 远程git仓库
上面部分用到的其实都是本地git仓库,接下来的章节将介绍远程git仓库
当多人协同开发时,每人都在自己的本地仓库维护版本。但很重要的一点是,多人之间要共享代码、合并代码,此时就需要一个 远程仓库 供项目成员们提交代码
远程仓库架构:
3.1 如何使用远程git仓库
- 注册git服务器账号(GitHub、码云)
- 创建远程git仓库,可选择https协议或SSH协议
- 按照给出的提示在命令行中进行配置
- 配置完毕即可使用远程仓库
3.2 常用操作
-
添加远程git仓库的地址:
git remote add [地址名] [https或SSH地址]
-
查看已记录的远程仓库:
git remote -v
-
将自己的本地仓库提交到分支上:
git push [地址名] [分支名]
-
将别人的远程仓库复制到本地(自己不参与项目开发):
git clone [https或SSH地址]
-
将别人对远程仓库的改动同步到本地(自己参与项目开发):
git pull [地址名] [分支名]
第四章 git分支
4.1 分支的概念
分支是一个个版本最终存储的位置,也就是一条时间线,每次git commit
形成一个个版本,一个个版本依次存储在分支的一个个提交点上
在商业项目中一般不轻易在master分支上做操作,我们会新建一个开发用的分支,在此分支上做版本的记录,当代码确实没有问题的时候才将开发分支上成熟的代码版本添加到master分支上,既保证开发过程中可以及时记录版本,又能保证master分支上每个提交点都是稳健的版本
4.2 分支基本操作
- 查看当前仓库的分支:
git branch
备注:仓库中默认只有 master 分支,在执行git commit
时,默认是在master分支上保存版本 - 创建分支:
git branch [分支名]
- 切换分支:
git checkout [分支名]
- 查看每个分支的提交记录:
git log
- 查看单个分支的提交记录:
git log --oneline
- 查看单个分支的提交记录并生成图像:
git log --oneline --graph
- 分支合并:
git merge [分支名]
- 快速合并:主分支没动,直接将主分支的指针指向要合并的分支即可
- 三方合并:主分支和要合并的分支都做了改变,需要将两个分支的修改覆盖到该分支与主分支最近的一次交点之上,再形成主分支上的一个新结点
- 分支冲突:两个分支进行合并,但它俩都对同一个文件进行了修改,则在合并时出席那冲突,git无法决断该保留哪个分支的修改,索性就把两个文件简单拼起来,并标记出分别来自哪个分支,等待开发者自己协商解决