切换主题
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>指向上number级parent提交,也可直接使用-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交互式rebase:git 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