【Git】Git 学习笔记(一)

前言

在经过快速入门教程学习,并在工作中使用 Git 约7个月后,想静下心整理一份 Git 的学习笔记,同时学习一些进阶的 Git 使用技巧。我在工作中使用 Git 一般都是在 MacOS 下使用 SourceTree ,配合少量的简单命令行操作,所以一直对 Git 的原理不太清楚。

快速入门

Git 教程 | 菜鸟教程
Git 教程 | 廖雪峰的官方网站

快速入门可以看廖雪峰的教程或者菜鸟教程,这些确实做到了临时看10分钟就能上手使用。

稍微进阶

Learn Git Branching | Git 分支可视化的网页小游戏(非常推荐)
Git recipes | 高质量的 Git 中文教程(非常推荐)


  1. Git 仓库的裸状态和非裸状态。
  2. Git 的 Config,可以用来配置 alias,也可以用来在 commit 的时候选择默认打开的编辑器(推荐)。

Git 将配置项保存在三个单独的文件中,允许你分别对单个仓库、用户和整个系统设置。

/.git/config – 特定仓库的设置。

~/.gitconfig – 特定用户的设置。这也是 --global 标记的设置项存放的位置。

$(prefix)/etc/gitconfig – 系统层面的设置。

当这些文件中的配置项冲突时,本地仓库设置覆盖用户设置,用户设置覆盖系统设置。如果你打开期中一份文件,你会看到下面这些:

[user]
name = John Smith
email = john@example.com

[alias]
st = status
co = checkout
br = branch
up = rebase
ci = commit

[core]
editor = vim

你可以用 git config 手动编辑这些值。

缓存区

git add 命令最主要的作用是将工作目录中的更改添加到 Git 的缓存区。缓存区是 Git 特有的功能之一,如果你之前使用的是 SVN(甚至是更古老的 Mercurial),那你可得花点时间理解了。你可以把它理解成工作目录和项目历史中间的缓冲区。缓存区是 Git 三个树状文件结构之一,另外两个是工作目录和提交历史。

缓存允许你把紧密相关的几份更改合并成一份快照,而不是直接提交所有新的更改。也就是说你可以同时进行多个无关的更改,最后分成几次将相关更改添加到缓存区并提交。对于任何版本控制系统来说,保持提交的原子性非常重要,这有利于追踪 bug 以及用最小的代价撤销更改。

原文地址:https://www.cnblogs.com/purinliang/p/15585763.html