Git 是一个分布式版本控制系统,用于跟踪文件变更、协作开发和管理项目历史。以下是 Git 的常用命令分类整理,涵盖了初始化、配置、操作、分支、远程仓库、提交历史等核心功能:
一、仓库初始化与配置
| 命令 | 说明 |
|---|---|
git init |
初始化一个新的 Git 仓库 |
git clone <url> |
克隆远程仓库到本地 |
git config --global user.name "Your Name" |
设置全局用户名 |
git config --global user.email "you@example.com" |
设置全局邮箱 |
git config --list |
查看当前所有 Git 配置 |
git config --global alias.co checkout |
设置别名(如 co 代替 checkout) |
二、工作区与暂存区操作
| 命令 | 说明 |
|---|---|
git status |
显示工作区和暂存区的状态 |
git add <file> |
添加文件到暂存区 |
git add . |
添加所有文件到暂存区 |
git diff |
显示工作区与暂存区的差异 |
git diff --cached |
显示暂存区与上次提交的差异 |
git commit -m "message" |
提交暂存区的内容 |
git commit -a -m "message" |
提交所有已跟踪文件的更改 |
git commit --amend |
修改最后一次提交 |
git reset HEAD <file> |
从暂存区移除文件 |
git rm <file> |
删除文件并从 Git 中移除 |
git mv <old> <new> |
移动或重命名文件 |
三、分支管理
| 命令 | 说明 |
|---|---|
git branch |
查看本地所有分支 |
git branch -r |
查看远程所有分支 |
git branch -a |
查看所有分支(本地 + 远程) |
git branch <branch-name> |
创建新分支 |
git checkout <branch-name> |
切换分支 |
git switch <branch-name> |
切换分支(Git 2.23+ 推荐) |
git checkout -b <branch-name> |
创建并切换到新分支 |
git switch -c <branch-name> |
创建并切换分支(推荐) |
git merge <branch-name> |
合并指定分支到当前分支 |
git rebase <branch-name> |
将当前分支的提交重放至目标分支顶部 |
git branch -d <branch-name> |
删除本地分支 |
git branch -D <branch-name> |
强制删除本地分支 |
git branch --set-upstream-to=origin/<branch-name> |
设置上游分支 |
四、远程仓库操作
| 命令 | 说明 |
|---|---|
git remote -v |
查看远程仓库地址 |
git remote add origin <url> |
添加远程仓库 |
git remote set-url origin <url> |
修改远程仓库地址 |
git remote show origin |
显示远程仓库详细信息 |
git fetch origin |
从远程仓库获取更新但不合并 |
git pull origin <branch> |
获取并合并远程分支 |
git push origin <branch> |
推送本地分支到远程仓库 |
git push origin --delete <branch> |
删除远程分支 |
git push origin <local-branch>:<remote-branch> |
推送本地分支到远程指定分支 |
五、提交历史与查看
| 命令 | 说明 |
|---|---|
git log |
查看提交历史 |
git log --oneline --graph |
图形化显示提交历史 |
git log --stat |
显示每次提交的文件统计 |
git log -p |
显示每次提交的详细内容 |
git show <commit> |
显示某个提交的详细信息 |
git blame <file> |
显示文件每一行的最后修改者 |
git shortlog |
显示简洁的提交日志摘要 |
git reflog |
查看所有引用的变更历史 |
六、撤销与恢复
| 命令 | 说明 |
|---|---|
git checkout -- <file> |
撤销工作区的修改 |
git reset --hard HEAD~1 |
回退到上一个提交 |
git reset --soft HEAD~1 |
回退但保留更改 |
git reset HEAD~1 |
回退但保留更改到暂存区 |
git revert <commit> |
创建新提交以撤销某个提交 |
git stash |
临时保存未提交的更改 |
git stash pop |
恢复最近一次的 stash |
七、其他常用命令
| 命令 | 说明 |
|---|---|
git tag |
查看所有标签 |
git tag -a v1.0 -m "release" |
创建带注释的标签 |
git tag -d v1.0 |
删除标签 |
git push origin v1.0 |
推送标签到远程 |
git help <command> |
查看命令的帮助文档 |