learn-git-the-super-hard-way
  • 基础知识
  • 第0章:创建工作环境
  • 第1章:直接操纵对象
  • 第2章:直接操纵引用
  • 第3章:直接操纵索引
  • 第4章:直接操纵HEAD
  • 第5章:直接操纵远程
  • 第6章:直接操纵merge
  • 第7章:直接操纵commit
  • 第8章:检索与查看历史
  • 第9章:邪恶的submodule
  • 第10章:批处理与自动化
  • 第11章:配置和alias
  • 第12章:单repo多分支工作流
  • 第13章:GPG签名
  • 第14章:数据的导入和导出
  • 第15章:数据抢修与急救
  • 总结/cheatsheet
  • 索引/Roadmap
由 GitBook 提供支持
在本页
  • 目录
  • 基本约定
  • Git命令行基础
  • 全局命令行参数
  • 具体Git命令的参数
  • Git命令列表
  • License

这有帮助吗?

基础知识

下一页第0章:创建工作环境

最后更新于4年前

这有帮助吗?

目录

  1. (git init)

  2. (git commit)

  3. (git branch)

  4. (git add / restore)

  5. (git switch)

  6. (git pull / push)

  7. (git diff / merge)

  8. (git rebase)

  9. (git log / blame / grep)

  10. (git submodule)

  11. (git config)

  12. (git archive)

学习完本教程以后,你应该掌握了git的全部用法的1%。

备注:git reset/git checkout的详解在第4章。强烈推荐改用功能更强大更直观的git restore和git switch。

基本约定

为了更为本质地了解Git,本文会对同一种操作介绍多种不同的实现方法。 下表描述了不同使用场景下应该如何选择最适合的实现方法。

等级

含义

使用场景

Lv0

纯粹手工实现,完全不使用Git命令行

学习Git内部结构时

Lv1

使用底层Git命令行配合手工实现

实现极为特殊的Git操作时

Lv2

使用底层Git命令行实现

实现非常规Git操作时

Lv3

使用常规Git命令行实现

日常使用

Lv4

Git Alias

对Git进行扩展,日常使用

Lv5

编写脚本调用Git命令行

对Git进行非常规扩展,偶尔使用

Git命令行基础

全局命令行参数

  • cwd默认为.,表示先cd到那里再运行后续命令

  • work-tree默认为GIT_WORK_TREE或者.,但并非所有命令都涉及worktree

  • git-dir默认为GIT_DIR或者./.git:

    • 若./.git是目录,则就以该目录为repo

    • 若./.git是文件,则以该文件内容(一般会是绝对路径)为repo

git [-C <cwd>] [--git-dir=<repo>] [--work-tree=<worktree>] <command> [args]

具体Git命令的参数

大部分命令的参数列表遵循以下格式:

  • object是对象的表达式

    • 一般由引用、对象SHA1、^、~、:等构成

    • 完整列表参见git rev-parse(Lv2)

  • path是路径

  • --在不引起歧义的情况下可以省略

注意:是否存在<path>参数可能对语义有本质的影响

git <command> [options] [<object>]
git <command> [options] [<object>] -- [<path>]

Git命令列表

License

本教程还提供了,可以用来复习并检查学习效果。

如果你完全没有听说过cheatsheet里面的任何一条命令,那么你可能需要先学习一些基础教程:、、。其中高级可以跟本教程同时学习。

如果你已经完全掌握cheatsheet里面的所有命令,那么此教程可能对你来说太过浅显,建议移步、。

本教程涵盖所有的Git常用命令和一半以上的Git非常用命令, 参见

This work is licensed under a .

GitBook
创建工作环境
直接操纵对象
直接操纵引用
直接操纵索引
直接操纵HEAD
直接操纵远程
直接操纵merge
直接操纵commit
检索与查看历史
邪恶的submodule
批处理与自动化
配置和alias
单repo多分支工作流
GPG签名
数据的导入和导出
数据抢修与急救
cheatsheet
入门
初级
高级
Git Reference
Git源码
Roadmap
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License