xu-song
1/20/2018 - 7:56 AM

辅助理解git 命令

辅助理解git 命令

简介

首先,这不是一个git命令教程,这是一个用于快速理解git命令的辅助文档。

用了git几年了,每次遇到疑难杂症都要现查,归其原因,是不了解git命令背后到底做了什么。

于是决定整理一下思路。

术语

  • 工作区:working_directory,working_tree,workspace

  • 暂存区:staged, index

  • 本地仓库: local_repository, local_commit_history

  • 远程仓库:remote_repository

  • 快照:snapshot

直接上图吧

有点紧凑,建议放大看

看图说话

入门git add : 读取工作区文件,写入暂存区 (1个箭头代表1个写操作)

进阶

git checkout <branch>: 移动本地仓库中的HEAD指针到指定branch,更新index,更新工作区文件 (3个箭头)

git reset --soft:撤销指定commit,移动HEAD (不涉及工作区、暂存区、远程仓库的操作)

soft mixed hard三个参数的区别也一目了然 ...

reference

待续

image/svg+xml 作区 暂存 本地仓库 远程仓库 git add git commit git push git checkout checkout < branch> d iff HEAD diff reset -- mixed reset -- soft reset -- hard fetch merge pull or rebase 正向 反向 比较 无箭头 : 箭头 : … : 同上 灰色 : 注释 git rm HEAD 指针 丢弃 commit & 移动 HEAD checkout < path> 不移动 HEAD 指针 丢弃工作区 丢弃缓存区 丢弃 index ,即撤销 add 操作 …. remove index stash pop stash p ull=fetch + merge git commit - a