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)
- 保存当前工作进度:
git stash或git stash save "消息"- 保存当前工作进度,包括暂存的和未暂存的修改。
- 列出所有stash:
git stash list
- 应用最近的stash:
git stash apply- 恢复最近一次存储的进度。如果指定
stash@{n},则恢复指定的进度。
- 应用并删除最近的stash:
git stash pop- 恢复最近一次存储的进度并从stash列表中删除它。
- 删除所有存储的stash:
git stash clear
变基(Rebase)
- 将当前分支变基到其他分支:
git rebase [基底分支名]- 将当前分支的修改重新应用到基底分支上。
- 交互式变基:
git rebase -i [基底分支名或提交哈希]- 交互式变基允许你在变基过程中更改提交。
- 解决冲突后继续变基:
git rebase --continue
- 取消变基:
git rebase --abort
- 跳过某次提交:
git rebase --skip
合并(Merge)
- 合并指定分支到当前分支:
git merge [分支名]- 将指定分支的修改合并到当前分支。
- 解决合并冲突后继续合并:
git merge --continue
- 取消合并:
git merge --abort
- 启用冲突解决策略来合并:
git merge -s [策略] [分支名]- 使用指定的合并策略。