Git命令这样用,代码管理轻松搞定
在日常开发中,Git命令是每个程序员必备的技能。但是面对几十个Git命令,很多同学总是记不住、用不对。今天就来整理一份最实用的Git命令清单,让你的代码管理变得轻松高效。
基础配置命令
让Git认识你
在开始使用Git之前,先让Git知道你是谁:
bash
# 设置用户名和邮箱(全局配置)
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"
常用的其他配置:
bash
# 设置默认编辑器
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之旅
创建新仓库
bash
# 在当前目录初始化Git仓库
git init
# 在指定目录创建新仓库
git init my-project
# 创建裸仓库(用于服务器)
git init --bare my-repo.git
克隆远程仓库
bash
# 克隆远程仓库
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文件有四种状态:

查看文件状态
bash
# 查看工作区状态
git status
# 简化显示
git status -s
# 查看具体的文件差异
git diff
# 查看暂存区的差异
git diff --staged
添加文件到暂存区
bash
# 添加单个文件
git add filename.txt
# 添加多个文件
git add file1.txt file2.txt
# 添加所有修改的文件
git add .
# 添加所有txt文件
git add *.txt
# 交互式添加(选择性添加文件的部分内容)
git add -p
撤销操作
bash
# 撤销工作区的修改
git checkout -- filename.txt
# 撤销暂存区的文件(保留工作区修改)
git reset HEAD filename.txt
# 撤销最后一次提交(保留文件修改)
git reset --soft HEAD~1
# 撤销最后一次提交(丢弃文件修改)
git reset --hard HEAD~1
提交代码命令
记录你的每一次变更
基本提交操作
bash
# 提交暂存区的文件
git commit -m "提交信息"
# 添加文件并提交(跳过git add)
git commit -am "提交信息"
# 修改最后一次提交信息
git commit --amend -m "新的提交信息"
# 向最后一次提交添加文件
git add forgotten-file.txt
git commit --amend --no-edit
规范化提交信息
bash
# 功能开发
git commit -m "feat: 新增用户登录功能"
# Bug修复
git commit -m "fix: 修复密码验证逻辑错误"
# 文档更新
git commit -m "docs: 更新API使用说明"
# 代码重构
git commit -m "refactor: 优化数据库查询性能"
# 样式调整
git commit -m "style: 统一代码缩进格式"
详细提交信息
bash
# 包含详细描述的提交
git commit -m "fix: 修复用户注册邮箱验证问题
- 修复邮箱格式验证正则表达式
- 添加邮箱重复性检查
- 优化错误提示信息显示
Closes #123"
分支管理命令
并行开发的利器
查看分支
bash
# 查看本地分支
git branch
# 查看远程分支
git branch -r
# 查看所有分支
git branch -a
# 查看分支详细信息
git branch -v
创建和切换分支
bash
# 创建新分支
git branch feature-login
# 切换分支
git checkout feature-login
# 创建并切换分支(一步完成)
git checkout -b feature-login
# 使用新语法创建并切换分支
git switch -c feature-login
# 切换到上一个分支
git checkout -
分支合并和删除
bash
# 合并分支(先切换到目标分支)
git checkout main
git merge feature-login
# 删除本地分支
git branch -d feature-login
# 强制删除分支
git branch -D feature-login
# 删除远程分支
git push origin --delete feature-login
远程仓库操作
与团队协作的桥梁
查看远程仓库
bash
# 查看远程仓库
git remote
# 查看远程仓库详细信息
git remote -v
# 查看特定远程仓库信息
git remote show origin
添加和删除远程仓库
bash
# 添加远程仓库
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
推送和拉取代码
bash
# 推送到远程仓库
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
查看历史记录
回顾代码演进历程
基本日志查看
bash
# 查看提交历史
git log
# 单行显示提交历史
git log --oneline
# 图形化显示分支历史
git log --graph --oneline
# 查看最近3次提交
git log -3
# 查看指定作者的提交
git log --author="张三"
高级日志筛选
bash
# 查看指定时间范围的提交
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操作
bash
# 暂存当前工作
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操作
bash
# 只暂存已跟踪的文件
git stash --keep-index
# 包含未跟踪的文件
git stash -u
# 交互式暂存
git stash -p
# 从stash创建分支
git stash branch feature-temp stash@{0}
实用技巧命令
提高工作效率的秘诀
文件操作
bash
# 删除文件
git rm filename.txt
# 重命名文件
git mv oldname.txt newname.txt
# 停止跟踪文件但保留本地文件
git rm --cached filename.txt
# 查看文件内容
git show HEAD:filename.txt
标签管理
bash
# 创建标签
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
搜索和定位
bash
# 在代码中搜索
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
常见问题解决
遇到问题不慌张
提交相关问题
bash
# 合并多个提交为一个
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
冲突解决
bash
# 查看冲突文件
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是工具,不是障碍。掌握了这些命令,你的代码管理将会变得游刃有余!
觉得这篇文章对你有帮助吗?欢迎点赞 、关注 、推荐给更多的小伙伴!