git
- 工作目录(workspace)
- 暂存区(index/stage)
- 本地仓库(local repository)
- 远程仓库(remote repository)
状态转移
-
add 工作目录 -> 暂存区
-
commit 暂存区 -> 本地仓库
-
push 本地仓库 -> 远程仓库
-
pull 远程仓库 -> 工作目录
-
fetch/clone 远程仓库 -> 本地仓库
-
checkout 本地仓库 -> 工作目录
对比
-
git diff 工作目录和暂存区比较
-
git diff HEAD 比较当前和最新比较
-
git diff 从这个commit id之后的修改
-
git diff branch-a branch-b 对比分支
修改撤回
-
git reset Head^ 撤销一次提交
git push [origin branch] --force -
git reset --hard Head~num 撤销num次提交
git push [origin branch] --force -
git reset --hard 撤销到某次提交
git push [origin branch] --force -
git revert 生成一个新的提交来撤销某次提交
git push [origin branch] --force -
--hard 彻底重置工作目录、暂存区、提交历史. (什么都不保留)
--soft 保留工作目录、暂存区的更改。(保留未add的 且 保留之前提交记录)
--mixed 保留工作目录的更改. (保留未add的)