Git 学习指南

# Git 简介

# 什么是 Git

Git 是一个流行的文件版本管理工具。

基于 Git 本体还衍生了出很多相关工具,如:

  • 图形化的 Git 管理界面
  • 各种 Git Diff 编辑器
  • Git 规范提交工具

等…这些工具围绕 Git 配合着一同工作。

# 安装和打开 Git

基础的 Git 工具需要基于命令行,
(参考我的另一篇文章 命令行简介

用 Brew 安装 Git:brew install git

然后在命令行中输入以下命令,查看 git 的情况:

# shell

tldr git # tldr

git version # 查看版本
git help # 查看帮助

# 学习 Git 需要先学一门编程语言吗

不需要。

Git 的作用是管理文件内容的版本,而不是代码内容的,
不需要先学习一门编程语言。

甚至如果你不是开发人员,也可以利用 Git,
用于管理 '.psd'、游戏存档…、诗集、文稿等等…

比如 本站 一开始就是仅由两篇文章组成。

# 为什么要用 Git

  • 可以方便地管理文件的多个版本,轻松回退切换
  • 在产业界广泛被使用
  • 使多人协作更好进行
    • 使开发工作更好地并行化

# GitHub 社区

GitHub 是一个免费的 Git 远端仓库,
有很多著名的项目和工具都托管在 GitHub 上,
VS CodeReact

(类似的远端仓库还有 GitLabBitbucketCODING 等)

GitHub 也是一个社区和服务,除 Git 基本功能外还有很多其他功能,
如 issues 系统,page 服务 等
什么是 GitHub?

# 学习 Git

# 概览

  • 耗时:从入门到掌握基本命令到理解理念需要大约 1~10 小时 (个人估计)
  • 难点:
    • 操作规范性/开发工作流程
    • 了解一些不常用的命令的用途
  • 工具:

# 学习路线

  • 练习 Git 基本用法
    • 完整的提交合并等操作
  • 练习使用 Git Flow 开发模型
  • 练习 Git 其他常用命令
  • 理解操作规范
    • branch 和 commit 的合理运用方式
    • 约定式提交

# 资料

如果可以,开两个 Github 账号,以便自己尝试 pull request 等功能

# 自学教材

# 进阶

# Git 知识体系

# Git & Git Flow

  • Git
    • 基本操作
      • init
      • add/reset
      • commit
      • checkout
      • merge
      • pull/push/fetch
      • remote
    • 其他常用操作
      • stash
      • revert
      • rebase
      • diff
      • cherry-pick
  • Git Flow 分支模型
    • master
    • release
    • develop
    • feature
    • fix

# Git 工具

# Git 周边生态

# Git 基本命令

# shell

git init

git status
git log

git add <. | files-names >
git commit -m <messages>

git branch <new-branch>
git checkout <existed-branch>
git checkout -b <new-branch> <based-branch>

git merge [--no-ff] <from-branch>

get reset [--hard] <existed-branch>

git fetch --all
git pull <origin> <master>
git push <origin> <master>

git-cheatsheet-cn

git-mindmap

如何优雅的使用 Git?