Others

Git 基础教程

Git的设计让使用者觉得自己比想象中的笨。 —— Andrew Morton(Linux核心开发者)

若没有安装 Git,请看《Windows 下配置 Git 环境变量》

初次使用 Git 前的配置

在命令行输入以下命令:

这个用户名和邮箱将是你未来使用 Git 进行项目版本管理的身份标识

用户名和邮箱不要使用中文

1.png

理论基础

Git 记录的是什么?

用过 SVN 的应该都知道,SVN 记录的是每一次版本变动的内容

2.png

而 Git 则是将每个版本独立保存

3.png

三棵树:工作区域、暂存区域和 Git 仓库

1、Working:工作区域,一般是项目所存放的目录

2、Stage:暂存区域,暂存所有改动准备提交

3、Repository:Git 仓库,最终存放项目的位置,并且携带版本编号

4.png

Git 的工作流程

1、在工作目录中添加、修改文件

2、将需要进行版本管理的文件放入暂存区域

3、将暂存区域的文件提交到 Git 仓库

Git 管理的文件有三种状态

  • 已修改(modified)

  • 已暂存(staged)

  • 已提交(committed)

Git 命令的简单流程

14.png

简单使用

创建项目文件夹,并初始化仓库

5.png

创建了 .git 文件夹(默认隐藏)

添加 README.md 文件,并提交到 Git 仓库

6.png

基础操作

查看状态

7.png

添加 LICENSE 文件后

8.png

LICENSE 加入暂存区

9.png

将暂存区的最新记录撤回

10.png

LICENSE 提交到仓库,并修改 LICENSE 文件

11.png

  • git checkout -- <file>:将仓库中的文件覆盖回本地(慎重)

修改一次 LICENSE并加入暂存区,后再修改一次但不加入暂存区

12.png

查看历史

13.png

回到之前版本

15.png

移动 HEAD 的指向,将其指向上一个快照

reset 命令说明

1、git reset --mixed HEAD~:等于 git reset HEAD~

2、git reset --soft HEAD~:移动 HEAD 的指向,将其指向上一个快照。并将 HEAD 移动前指向的快照回滚到暂存区域

3、git reset --hard HEAD~:移动 HEAD 的指向,将其指向上一个快照。将 HEAD 移动后指向的快照回滚到工作目录

指定 ID 回滚

回滚个别文件

版本对比

比较暂存区域与工作目录

比较两个历史快照

16.png

比较当前工作目录和 Git 仓库中的快照

比较暂存区域和 Git 仓库快照

17.png

修改最近提交

1、场景一:版本刚一提交(commit)到仓库,突然想起漏掉两个文件还没有添加(add)

2、场景二:版本刚一提交(commit)到仓库,突然想起版本说明写得不够全面

执行带 --amend 选项的 commit 提交命令,Git 就会“更正”最近的一次提交

删除文件

该命令删除的只是工作目录和暂存区域的文件,也就是取消跟踪,在下此提交时不纳入版本管理

重命名文件

Git 分支

18.png

克隆一份全新的目录以同样拥有 5 个分支来说,SVN 是同时复制 5 个版本的文件,也就是说重复 5 次同样的动作。

而 Git 只是获取文件的每个版本的元素,然后只载入主要的分支(master)

创建 feature 分支

19.png

切换到 feature 分支

20.png

将指定分支合并到当前分支

删除 feature2 分支

常见实际开发中的分支结构

21.png

【完】附一份《Git 文档笔记》

OceanicKang
心若浮沉,浅笑安然
查看“OceanicKang”的所有文章 →

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关推荐