一.Git基础

1.1git是什么

Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。
git通常在编程中会用到,并且git支持分布式部署,可以有效、高速的处理从很小到非常大的项目版本管理。

1.1.1 git与svn的区别

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。

1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。

2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。

3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。

4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。

5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

Git讲解

1.1.2分布式相比于集中式的区别

分布式相比于集中式(SVN 就是一个典型的集中式版本控制系统)的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。

1.2git的安装

下载地址 :(https://git-scm.com/downloads)
在安装的过程中,所有选项使用默认值即可。

1.3git基本工作流程

git仓库 :用于存放提交记录
暂存区: 临时存放被修改文件
工作目录:被Git管理的项目目录

Git讲解

1.4 Git 使用前配置

在使用 git 前,需要告诉 git 你是谁,在向 git 仓库中提交时需要用到。

  1. 配置提交人姓名:*git config --global user.name 提交人姓名*
  2. 配置提交人姓名:git config --global user.email 提交人邮箱
  3. 查看git配置信息:*git config --list*

注意

  1. 如果要对配置信息进行修改,重复上述命令即可。
  2. 配置只需要执行一次。

1.5 提交步骤

  1. git init 初始化git仓库 (mac中Command+Shift+. 可以显示隐藏文件)
  2. git status 查看文件状态
  3. git add 文件列表 追踪文件
  4. git commit -m 提交信息 向仓库中提交代码
  5. git log 查看提交记录

1.6 撤销

  • 用暂存区中的文件覆盖工作目录中的文件: git checkout 文件
  • 将文件从暂存区中删除: git rm --cached 文件
  • 将 git 仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录:git reset --hard commitID

二. git 进阶

2.1 分支

为了便于理解,大家暂时可以认为分支就是当前工作目录中代码的一份副本。

使用分支,可以让我们从开发主线上分离出来,以免影响开发主线。
Git讲解

2.1.1 分支细分
  1. 主分支(master):第一次向 git 仓库中提交更新记录时自动产生的一个分支。Git讲解
    2开发分支(develop):作为开发的分支,基于 master 分支创建。Git讲解
    3.功能分支(feature):作为开发具体功能的分支,基于开发分支创建Git讲解

2.1.2 分支命令

  • git branch 查看分支
  • git branch 分支名称 创建分支
  • git checkout 分支名称 切换分支
  • git merge 来源分支 合并分支
  • git branch -d 分支名称 删除分支(分支被合并后才允许删除)(-D 强制删除)

2.2 暂时保存更改

在git中,可以暂时提取分支上所有的改动并存储,让开发人员得到一个干净的工作副本,临时转向其他工作。

使用场景:分支临时切换

  • 存储临时改动:git stash
  • 恢复改动:git stash pop

相关文章: