Git Cheat Sheet

命令速查表

配置工具

  • 设置用户名: git config --global user.name "你的名字"
  • 设置邮箱地址: git config --global user.email "你的邮箱"

创建和克隆仓库

  • 初始化新仓库: git init
  • 克隆仓库: git clone [URL]

基本快照制作

  • 查看状态: git status
  • 跟踪新文件: git add [文件名]
  • 取消跟踪文件: git rm --cached [文件名]
  • 提交更新: git commit -m "[提交信息]"
  • 移除文件: git rm [文件名]

分支和合并

  • 列出所有本地分支: git branch
  • 创建新分支: git branch [分支名]
  • 切换分支: git checkout [分支名]
  • 创建新分支并立即切换到该分支: git checkout -b [分支名]
  • 合并指定分支到当前分支: git merge [分支名]
  • 删除分支: git branch -d [分支名]

检查和比较

  • 查看提交历史: git log
  • 比较工作区和暂存区差异: git diff
  • 比较暂存区和上次提交差异: git diff --staged
  • 查看某次提交的详细内容: git show [提交哈希]

更新和发布

  • 更新本地仓库至最新改动: git pull
  • 查看所有远程仓库: git remote -v
  • 将更改推送到远程仓库: git push [远程仓库名] [分支名]
  • 添加远程仓库: git remote add [远程仓库名] [URL]
  • 抓取远程仓库的数据: git fetch [远程仓库名]

撤销

  • 撤销工作目录中所有未提交文件的修改: git restore .
  • 重置暂存区与最近一次提交匹配,同时撤销工作目录中的修改: git reset --hard
  • 将HEAD指向不同的提交,撤销某次提交后的所有变动: git reset [提交哈希]

暂存(Stash)

  1. 保存当前工作进度:
  • git stashgit stash save "消息"
  • 保存当前工作进度,包括暂存的和未暂存的修改。
  1. 列出所有stash:
  • git stash list
  1. 应用最近的stash:
  • git stash apply
  • 恢复最近一次存储的进度。如果指定stash@{n},则恢复指定的进度。
  1. 应用并删除最近的stash:
  • git stash pop
  • 恢复最近一次存储的进度并从stash列表中删除它。
  1. 删除所有存储的stash:
  • git stash clear

变基(Rebase)

  1. 将当前分支变基到其他分支:
  • git rebase [基底分支名]
  • 将当前分支的修改重新应用到基底分支上。
  1. 交互式变基:
  • git rebase -i [基底分支名或提交哈希]
  • 交互式变基允许你在变基过程中更改提交。
  1. 解决冲突后继续变基:
  • git rebase --continue
  1. 取消变基:
  • git rebase --abort
  1. 跳过某次提交:
  • git rebase --skip

合并(Merge)

  1. 合并指定分支到当前分支:
  • git merge [分支名]
  • 将指定分支的修改合并到当前分支。
  1. 解决合并冲突后继续合并:
  • git merge --continue
  1. 取消合并:
  • git merge --abort
  1. 启用冲突解决策略来合并:
  • git merge -s [策略] [分支名]
  • 使用指定的合并策略。