Git 常用命令大全
1. 仓库创建与克隆
命令 | 说明 |
---|---|
git init |
初始化新仓库 |
git clone <repo_url> |
克隆远程仓库 |
git clone --depth 1 <repo_url> |
浅克隆(只获取最新版本) |
2. 基本操作
命令 | 说明 |
---|---|
git status |
查看仓库状态 |
git add <file> |
添加文件到暂存区 |
git add . |
添加所有修改文件 |
git commit -m "message" |
提交更改 |
git commit -am "message" |
添加并提交所有已跟踪文件的修改 |
git restore <file> |
撤销工作区修改 |
git restore --staged <file> |
撤销暂存区修改 |
3. 分支操作
命令 | 说明 |
---|---|
git branch |
查看本地分支 |
git branch -a |
查看所有分支(包括远程) |
git branch <branch_name> |
创建新分支 |
git checkout <branch_name> |
切换分支 |
git checkout -b <branch_name> |
创建并切换分支 |
git merge <branch_name> |
合并分支 |
git branch -d <branch_name> |
删除分支 |
git branch -D <branch_name> |
强制删除分支 |
git rebase <branch_name> |
变基操作 |
4. 远程操作
命令 | 说明 |
---|---|
git remote -v |
查看远程仓库 |
git remote add <name> <url> |
添加远程仓库 |
git remote remove <name> |
移除远程仓库 |
git fetch <remote> |
获取远程更新 |
git pull <remote> <branch> |
拉取并合并远程分支 |
git push <remote> <branch> |
推送本地分支到远程 |
git push -u <remote> <branch> |
推送并设置上游分支 |
git push --force |
强制推送(慎用) |
5. 查看信息
命令 | 说明 |
---|---|
git log |
查看提交历史 |
git log --oneline |
简洁版提交历史 |
git log --graph |
图形化显示分支历史 |
git show <commit> |
显示某次提交的详情 |
git diff |
查看未暂存的更改 |
git diff --staged |
查看已暂存的更改 |
git blame <file> |
查看文件修改历史 |
6. 撤销与重置
命令 | 说明 |
---|---|
git reset --soft <commit> |
重置到指定提交(保留更改) |
git reset --mixed <commit> |
重置到指定提交(取消暂存) |
git reset --hard <commit> |
彻底重置到指定提交 |
git revert <commit> |
撤销指定提交 |
git clean -fd |
删除未跟踪的文件和目录 |
7. 标签操作
命令 | 说明 |
---|---|
git tag |
查看所有标签 |
git tag <tag_name> |
创建轻量标签 |
git tag -a <tag_name> -m "message" |
创建带注释标签 |
git push origin <tag_name> |
推送标签到远程 |
git push origin --tags |
推送所有标签 |
git tag -d <tag_name> |
删除本地标签 |
git push origin :refs/tags/<tag_name> |
删除远程标签 |
8. 储藏与清理
命令 | 说明 |
---|---|
git stash |
储藏当前工作 |
git stash list |
查看储藏列表 |
git stash apply |
恢复最近储藏 |
git stash pop |
恢复并删除储藏 |
git stash drop |
删除储藏 |
git stash clear |
清除所有储藏 |
9. 子模块
命令 | 说明 |
---|---|
git submodule add <repo_url> |
添加子模块 |
git submodule update --init |
初始化并更新子模块 |
git submodule update --remote |
更新子模块到最新提交 |
10. 配置相关
命令 | 说明 |
---|---|
git config --list |
查看所有配置 |
git config --global user.name "name" |
设置全局用户名 |
git config --global user.email "email" |
设置全局邮箱 |
git config --global core.editor "vim" |
设置默认编辑器 |
11. 其他实用命令
命令 | 说明 |
---|---|
git reflog |
查看所有操作记录 |
git cherry-pick <commit> |
选择性地合并提交 |
git bisect |
二分查找引入bug的提交 |
git grep "pattern" |
在代码库中搜索内容 |
git fsck |
检查仓库完整性 |
使用技巧
-
简化常用命令:
bashgit config --global alias.co checkout git config --global alias.br branch git config --global alias.ci commit git config --global alias.st status
-
查看帮助:
git help <command> git <command> --help
-
忽略文件权限变化:
bashgit config core.fileMode false