Git常用命令全面整理
本文全面整理Git日常开发中高频使用命令,按功能分类,每条命令附一句话说明,简洁易懂、可直接复制使用,覆盖95%+日常开发场景,适合新手入门及老手快速查阅。
一、基础配置(首次使用必配)
用于配置Git全局信息、个性化设置,仅需首次配置,后续可按需修改。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| git config --global user.name "你的用户名"
git config --global user.email "你的邮箱地址"
git config --list
git config user.name git config user.email
git config --global core.editor vim
git config --global core.autocrlf true git config --global core.autocrlf input
git config --global --unset 配置项名(如user.email)
|
二、仓库操作(初始化与克隆)
用于创建本地仓库、关联远程仓库,是Git使用的基础步骤。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| git init
git init 仓库目录名
git clone 远程仓库地址(如https://github.com/xxx/xxx.git)
git clone 远程仓库地址 本地目录名
ls -a .git dir .git
|
三、工作区与暂存区操作(核心流程)
工作区(本地编辑文件的区域)、暂存区(临时存储修改的区域)、本地仓库(永久存储版本的区域)的交互,是日常提交代码的核心流程。
3.1 查看状态与差异
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| git status
git diff
git diff --staged git diff --cached
git diff HEAD
git diff 文件名1 文件名2
|
3.2 添加到暂存区
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| git add 文件名(如test.txt)
git add 文件名1 文件名2 文件名3
git add .
git add *.md
git add -A git add --all
git add -i
|
3.3 提交到本地仓库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| git commit -m "提交说明"(如:fix: 修复登录按钮点击无响应问题)
git commit -a -m "提交说明" git commit --all -m "提交说明"
git commit --amend -m "新的提交说明"
git rebase -i HEAD~n
git commit --no-verify -m "提交说明"
|
四、分支管理(核心高频)
分支用于隔离开发功能、修复bug,避免影响主分支,是团队协作的核心操作。
4.1 查看分支
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| git branch
git branch -v
git branch -a
git branch -vv
git branch --merged
git branch --no-merged
|
4.2 创建与切换分支
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| git branch 分支名(如feature/login)
git branch 新分支名 目标分支名
git checkout 分支名
git checkout -b 新分支名 git switch -c 新分支名
git checkout - git switch -
git checkout -b 本地分支名 origin/远程分支名 git switch -c 本地分支名 origin/远程分支名
|
4.3 合并与删除分支
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| git merge 目标分支名
git merge --ff 目标分支名
git merge --no-ff -m "合并说明" 目标分支名
git merge --abort
git branch -d 分支名
git branch -D 分支名
git push origin --delete 远程分支名 git push origin :远程分支名
|
4.4 分支关联与同步
1 2 3 4 5 6 7 8 9 10 11 12
| git branch --set-upstream-to=origin/远程分支名 本地分支名
git branch -vv
git branch --unset-upstream 本地分支名
git pull origin 远程分支名:本地分支名 git pull
|
五、远程仓库操作
用于与远程代码托管平台(如GitHub、Gitee、GitLab)交互,实现代码同步、团队协作。
5.1 关联与查看远程仓库
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| git remote add origin 远程仓库地址
git remote add gitee 远程仓库地址(Gitee) git remote add github 远程仓库地址(GitHub)
git remote -v
git remote show origin
git remote rename 旧别名 新别名
git remote set-url origin 新的远程仓库地址
git remote remove gitee git remote rm gitee
|
5.2 拉取与推送代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| git pull origin 远程分支名
git fetch origin 远程分支名 git fetch
git fetch --all git reset --hard origin/远程分支名
git push origin 本地分支名:远程分支名 git push
git push -u origin 本地分支名 git push --set-upstream origin 本地分支名
git push -f origin 本地分支名 git push --force origin 本地分支名
git push --all origin
|
六、撤销与回退(安全操作)
用于撤销工作区、暂存区的修改,或回退本地仓库的版本,避免误操作导致的代码丢失。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| git checkout -- 文件名 git restore 文件名
git checkout . git restore .
git reset HEAD 文件名 git restore --staged 文件名
git reset HEAD git restore --staged .
git reset --soft HEAD^ git reset --soft HEAD~1
git reset --mixed HEAD^
git reset --hard HEAD^
git reset --hard 版本号(如a1b2c3d)
git reflog
git reset --soft HEAD~1
git revert 版本号(如a1b2c3d)
|
七、日志与历史查看
用于查看提交历史、分支合并记录,定位问题、追溯修改记录。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| git log
git log --oneline
git log --graph git log --graph --oneline
git log 分支名
git log -n 5 git log --oneline -5
git log --name-only
git log -p
git log --author="作者名"
git log --since="2024-01-01" --until="2024-12-31"
git reflog
|
八、标签管理(发布版本用)
用于给重要的版本(如发布版本)打标签,方便后续追溯、回退到指定版本。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| git tag 标签名(如v1.0.0)
git tag -a v1.0.0 -m "版本说明(如:首次正式发布)"
git tag -a v1.0.0 版本号(如a1b2c3d) -m "版本说明"
git tag
git show 标签名
git push origin 标签名
git push origin --tags
git tag -d 标签名
git tag -d 标签名 git push origin --delete 标签名 git push origin :refs/tags/标签名
git checkout 标签名
git checkout -b 新分支名 标签名
|
九、暂存管理(临时切换分支用)
用于临时保存工作区的修改,方便切换分支(无需提交代码),后续可恢复修改。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| git stash
git stash save "备注信息(如:未完成的登录功能)"
git stash list
git stash pop
git stash pop stash@{0}
git stash apply
git stash apply stash@{0}
git stash drop
git stash drop stash@{0}
git stash clear
git stash show git stash show -p
|
十、文件操作(删除、重命名、忽略)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| git rm 文件名
git rm --cached 文件名
git mv 旧文件名 新文件名
touch .gitignore echo "" > .gitignore
cat .gitignore type .gitignore
git add -f 被忽略的文件名
git ls-files --others --ignored --exclude-standard
|
十一、高级常用命令(进阶场景)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| git --version
git clean -f git clean -fd
git clean -fx
git help add git add --help
git rev-parse --show-toplevel
git rebase -i HEAD~n(n为要合并的提交次数)
git diff 分支1 分支2
git diff 分支1 分支2 -- 文件名
git log --since="2024-01-01" --until="2024-12-31" --author="作者名" --oneline | wc -l
git config --global --edit
|