Git命令这样用,代码管理轻松搞定
在日常开发中,Git命令是每个程序员必备的技能。但是面对几十个Git命令,很多同学总是记不住、用不对。今天就来整理一份最实用的Git命令清单,让你的代码管理变得轻松高效。
基础配置命令
让Git认识你
在开始使用Git之前,先让Git知道你是谁:
# 设置用户名和邮箱(全局配置) git config --global user.name "张三" git config --global user.email "zhangsan@example.com" # 查看当前配置 git config --list # 只为当前项目设置(局部配置) git config user.name "张三" git config user.email "zhangsan@company.com"
常用的其他配置:
# 设置默认编辑器 git config --global core.editor "code --wait" # 设置别名,简化命令 git config --global alias.st status git config --global alias.co checkout git config --global alias.br branch git config --global alias.ci commit # 现在可以使用简化命令 git st # 等同于 git status git co # 等同于 git checkout
仓库初始化和克隆
开始你的Git之旅
创建新仓库
# 在当前目录初始化Git仓库 git init # 在指定目录创建新仓库 git init my-project # 创建裸仓库(用于服务器) git init --bare my-repo.git
克隆远程仓库
# 克隆远程仓库 git clone https://github.com/user/repo.git # 克隆到指定目录 git clone https://github.com/user/repo.git my-local-name # 只克隆最新的提交(浅克隆) git clone --depth 1 https://github.com/user/repo.git # 克隆指定分支 git clone -b develop https://github.com/user/repo.git
文件状态管理
掌控代码变更
Git文件有四种状态:

查看文件状态
# 查看工作区状态 git status # 简化显示 git status -s # 查看具体的文件差异 git diff # 查看暂存区的差异 git diff --staged
添加文件到暂存区
# 添加单个文件 git add filename.txt # 添加多个文件 git add file1.txt file2.txt # 添加所有修改的文件 git add . # 添加所有txt文件 git add *.txt # 交互式添加(选择性添加文件的部分内容) git add -p
撤销操作
# 撤销工作区的修改 git checkout -- filename.txt # 撤销暂存区的文件(保留工作区修改) git reset HEAD filename.txt # 撤销最后一次提交(保留文件修改) git reset --soft HEAD~1 # 撤销最后一次提交(丢弃文件修改) git reset --hard HEAD~1
提交代码命令
记录你的每一次变更
基本提交操作
# 提交暂存区的文件 git commit -m "提交信息" # 添加文件并提交(跳过git add) git commit -am "提交信息" # 修改最后一次提交信息 git commit --amend -m "新的提交信息" # 向最后一次提交添加文件 git add forgotten-file.txt git commit --amend --no-edit
规范化提交信息
# 功能开发 git commit -m "feat: 新增用户登录功能" # Bug修复 git commit -m "fix: 修复密码验证逻辑错误" # 文档更新 git commit -m "docs: 更新API使用说明" # 代码重构 git commit -m "refactor: 优化数据库查询性能" # 样式调整 git commit -m "style: 统一代码缩进格式"
详细提交信息
# 包含详细描述的提交 git commit -m "fix: 修复用户注册邮箱验证问题 - 修复邮箱格式验证正则表达式 - 添加邮箱重复性检查 - 优化错误提示信息显示 Closes #123"
分支管理命令
并行开发的利器
查看分支
# 查看本地分支 git branch # 查看远程分支 git branch -r # 查看所有分支 git branch -a # 查看分支详细信息 git branch -v
创建和切换分支
# 创建新分支 git branch feature-login # 切换分支 git checkout feature-login # 创建并切换分支(一步完成) git checkout -b feature-login # 使用新语法创建并切换分支 git switch -c feature-login # 切换到上一个分支 git checkout -
分支合并和删除
# 合并分支(先切换到目标分支) git checkout main git merge feature-login # 删除本地分支 git branch -d feature-login # 强制删除分支 git branch -D feature-login # 删除远程分支 git push origin --delete feature-login
远程仓库操作
与团队协作的桥梁
查看远程仓库
# 查看远程仓库 git remote # 查看远程仓库详细信息 git remote -v # 查看特定远程仓库信息 git remote show origin
添加和删除远程仓库
# 添加远程仓库 git remote add origin https://github.com/user/repo.git # 修改远程仓库地址 git remote set-url origin https://github.com/user/new-repo.git # 删除远程仓库 git remote remove origin
推送和拉取代码
# 推送到远程仓库 git push origin main # 首次推送并建立跟踪关系 git push -u origin main # 推送所有分支 git push origin --all # 拉取远程代码 git pull origin main # 获取远程代码但不合并 git fetch origin # 强制推送(谨慎使用) git push --force origin main
查看历史记录
回顾代码演进历程
基本日志查看
# 查看提交历史 git log # 单行显示提交历史 git log --oneline # 图形化显示分支历史 git log --graph --oneline # 查看最近3次提交 git log -3 # 查看指定作者的提交 git log --author="张三"
高级日志筛选
# 查看指定时间范围的提交 git log --since="2024-01-01" --until="2024-01-31" # 查看包含特定关键词的提交 git log --grep="登录" # 查看指定文件的修改历史 git log -- src/main.js # 查看文件的详细修改内容 git log -p src/main.js # 查看提交统计信息 git log --stat
暂存工作状态
临时保存未完成的工作
基本stash操作
# 暂存当前工作 git stash # 带描述的暂存 git stash push -m "正在开发登录功能" # 查看stash列表 git stash list # 恢复最新的stash git stash pop # 应用指定的stash git stash apply stash@{0} # 删除stash git stash drop stash@{0}
高级stash操作
# 只暂存已跟踪的文件 git stash --keep-index # 包含未跟踪的文件 git stash -u # 交互式暂存 git stash -p # 从stash创建分支 git stash branch feature-temp stash@{0}
实用技巧命令
提高工作效率的秘诀
文件操作
# 删除文件 git rm filename.txt # 重命名文件 git mv oldname.txt newname.txt # 停止跟踪文件但保留本地文件 git rm --cached filename.txt # 查看文件内容 git show HEAD:filename.txt
标签管理
# 创建标签 git tag v1.0.0 # 创建带描述的标签 git tag -a v1.0.0 -m "版本1.0.0发布" # 查看标签列表 git tag # 推送标签到远程 git push origin v1.0.0 # 推送所有标签 git push origin --tags # 删除标签 git tag -d v1.0.0 git push origin --delete v1.0.0
搜索和定位
# 在代码中搜索 git grep "function" # 查找引入bug的提交 git bisect start git bisect bad HEAD git bisect good v1.0.0 # 查看文件的每一行是谁修改的 git blame filename.txt # 查看两个提交之间的差异 git diff commit1..commit2
常见问题解决
遇到问题不慌张
提交相关问题
# 合并多个提交为一个 git rebase -i HEAD~3 # 修改历史提交信息 git rebase -i HEAD~3 # 将pick改为reword # 撤销merge git reset --hard HEAD~1 # 查找丢失的提交 git reflog git cherry-pick commit-hash
冲突解决
# 查看冲突文件 git status # 手动解决冲突后 git add 冲突文件 git commit # 放弃merge git merge --abort # 使用工具解决冲突 git mergetool
Git命令速查表
常用命令一览

| 功能 | 命令 | 说明 |
|---|---|---|
| 初始化 | git init |
初始化仓库 |
| 克隆 | git clone <url> |
克隆远程仓库 |
| 状态 | git status |
查看工作区状态 |
| 添加 | git add . |
添加所有文件到暂存区 |
| 提交 | git commit -m "msg" |
提交代码 |
| 推送 | git push origin main |
推送到远程分支 |
| 拉取 | git pull origin main |
拉取远程代码 |
| 分支 | git checkout -b <name> |
创建并切换分支 |
| 合并 | git merge <branch> |
合并分支 |
| 日志 | git log --oneline |
查看提交历史 |
总结
掌握Git命令不是一天的事情,但是通过系统的学习和不断的实践,你会发现Git其实并没有想象中那么复杂。记住这些关键点:
- 从基础开始:先掌握add、commit、push等基本命令
- 理解工作流:明白工作区、暂存区、本地仓库的关系
- 多加练习:在实际项目中不断使用和总结
- 善用别名:为常用命令设置别名,提高效率
记住,Git是工具,不是障碍。掌握了这些命令,你的代码管理将会变得游刃有余!
觉得这篇文章对你有帮助吗?欢迎点赞、关注、推荐给更多的小伙伴!