Skip to content
本页目录

Git命令速查表

Git 命令学习站点推荐

基础命令

创建分支:git branch

bash
# 创建 yui分支
git branch yui

切换分支:git branch

bash
# 切换到 yui分支
git checkout yui
# 创建和切换命令可简写为:
git checkout -b yui

提交分支:git commit

bash
# 提交分支(到本地暂存区)
git commit
# 修正提交
git commit --amend

合并分支:git merge

bash
# 合并 yui分支到 main
git checkout main # 先切换到main
git merge yui

合并分支:git rebase

bash
# 合并 yui分支到 main ==> 线性合并
git checkout main # 先切换到main
git rebase yui

分离HEAD状态

HEAD总是指向当前分支上最近一次提交记录,HEAD通常情况下是指向分支名的(如yui)。 可理解成链表,HEAD为头节点,yui为下一节点HEAD.next = yui

bash
# 分离 yui分支 HEAD
git checkout yui # 此时HEAD指向 yui

分离HEAD

可理解成链表,HEAD为头节点,yui为下一节点HEAD.next = yui

bash
# 分离 yui分支 HEAD
git checkout yui # 此时HEAD指向 yui

相对引用

^指向上一级parent提交,~<number>指向上numberparent提交,也可直接使用-f选项让分支指向另一个提交。

bash
# 将 yui分支的 HEAD 指向上一级 parent 提交
git checkout yui^
# 将 yui分支的 HEAD 指向上3级 parent 提交
git checkout yui~3
# 强制修改分支位置
git branch -f main HEAD~3 # 将 main分支强制指向HEAD的第3级parent提交

撤销变更

git reset通过把分支记录回退几个提交记录来实现撤销改动(在 reset 后, 之前所做的变更还在,但是处于未加入暂存区状态。

bash
# 撤销本地提交
git reset --hard HEAD
# 撤销远程提交
git revert <commit>

高级命令

整合提交记录:git cherry-pick <提交号>

bash
# 记得先切换到目标分支,提交号(哈希值)可以是多个且有序
git cherry-pick P1 P4 P9

交互式rebasegit rebase -i HEAD~

bash
# 手动选择,且有序
git rebase -i HEAD~3 # 在前三级parent提交记录里pick

永久锚点:git tag version <commit>

bash
# 不指定commit时,默认值为HEAD
git tag v1.0.0 yui

锚点描述:git describe <commit>

bash
# 不指定commit时,默认值为HEAD
git describe yui