基础知识
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
(git init
)
(git commit
)
(git branch
)
(git add / restore
)
(git switch
)
(git pull / push
)
(git diff / merge
)
(git rebase
)
(git log / blame / grep
)
(git submodule
)
(git config
)
(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进行非常规扩展,偶尔使用
cwd默认为.,表示先cd到那里再运行后续命令
work-tree默认为GIT_WORK_TREE
或者.
,但并非所有命令都涉及worktree
git-dir默认为GIT_DIR
或者./.git
:
若./.git是目录,则就以该目录为repo
若./.git是文件,则以该文件内容(一般会是绝对路径)为repo
大部分命令的参数列表遵循以下格式:
object是对象的表达式
一般由引用、对象SHA1、^、~、:等构成
完整列表参见git rev-parse
(Lv2)
path是路径
--
在不引起歧义的情况下可以省略
注意:是否存在<path>
参数可能对语义有本质的影响
本教程还提供了,可以用来复习并检查学习效果。
如果你完全没有听说过cheatsheet里面的任何一条命令,那么你可能需要先学习一些基础教程:、、。其中高级可以跟本教程同时学习。
如果你已经完全掌握cheatsheet里面的所有命令,那么此教程可能对你来说太过浅显,建议移步、。
本教程涵盖所有的Git常用命令和一半以上的Git非常用命令, 参见
This work is licensed under a .