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 [策略] [分支名]
- 使用指定的合并策略。