git 基础概念

回到笔记目录

基本概念 手册链接

注意事项

  • 改变历史是罪恶的!
  • checkout 的时代应该过去了,对吧?
  • git 真的 适合纯文本,除非使用大文件管理工具
  • 不要滥用stash,看看《多工作树》吧!
  • 第一个 commit 只含 README 会比较有利于善后
  • git mv 重命名会方便一些?

常见操作

  • -n 预演,不真正添加;所有命令几乎都可以预演
  • git 命令行使用 -- 来分隔命令部分和路径部分

常用名词

  • commit:“版本”,记录了文件的变动
  • 存储区:
    • 工作树 worktree: 用户编辑代码的地方,产生文件改动
    • 暂存区 indexstaged): 工作树文件改动记录的集散地
    • 本地版本库 local repository: 将暂存区存放为 commit 的地方
    • 上游版本库 upstream repository: 与本地版本库相同,只不过放在远端
    • 存档库 stash: 紧急时暂时存放改动的堆栈
  • origin:默认上游版本库
  • main:默认本地版本库分支
  • pathspec:git 用于指定文件、路径的格式,这里可以使用例如通配符、glob、排除(:!path:)等语法
  • refspec:描述本地与上游间分支的映射关系,形如 <src>:<dst>
  • HEAD@:当前分支,关于@
  • commit-ish:用于标识一个“版本”,比如:dae86e19HEAD^^v1.5.1main等等;关于相对位置:
    • HEAD^ 上一版本
    • HEAD^^^ 三个版本前
    • HEAD~10 十个版本之前