Git 常用命令指南:从入门到高效开发
一、Git 是什么?
Git 是一个分布式版本控制系统。它能够高效地管理代码的变更历史,支持多人协作开发,广泛应用于开源项目和企业级开发中。
Git 的核心优势包括:
- 分布式架构,每个开发者都有完整的代码仓库
- 高效的分支管理
- 强大的合并与冲突解决机制
- 支持非线性开发(如并行开发多个功能)
二、Git 安装与初始化
1. 安装 Git
macOS:使用 Homebrew 安装
brew install git
Linux (Ubuntu/Debian):
sudo apt update && sudo apt install git
Windows:下载 Git for Windows 安装包
2. 配置用户信息
首次使用 Git 需要设置用户名和邮箱:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
💡 使用
--global
表示全局配置,适用于所有项目。若仅针对当前项目,去掉该参数即可。
三、Git 基础工作流与常用命令
1. 初始化仓库
在项目根目录创建 Git 仓库:
git init
2. 克隆远程仓库
从远程仓库(如 GitHub、GitLab)克隆代码:
git clone https://github.com/username/repository.git
支持指定目录名:
git clone https://github.com/username/repository.git my-project
3. 查看状态
查看当前工作区的文件状态:
git status
输出会显示:
- 已修改但未暂存的文件
- 已暂存待提交的文件
- 未被跟踪的新文件
4. 添加文件到暂存区
将文件添加到暂存区(Staging Area):
# 添加单个文件
git add filename.txt# 添加所有修改的文件
git add .# 添加所有文件(包括新文件)
git add -A
5. 提交更改
将暂存区的更改提交到本地仓库:
git commit -m "描述本次提交的内容"
推荐提交信息规范:
- 简洁明了,说明“做了什么”
- 使用动词开头,如 “fix: 修复登录页样式问题”、“feat: 添加用户注册功能”
💡 使用
git commit -a
可跳过git add
,直接提交所有已跟踪文件的更改(不包括新文件)。
6. 推送到远程仓库
将本地提交推送到远程仓库(如 origin):
git push origin main
7. 拉取远程更新
从远程仓库获取最新更改并合并到当前分支:
git pull origin main
等价于:
git fetch origin main # 获取远程更新
git merge origin/main # 合并到当前分支
四、分支管理
分支是 Git 的核心功能之一,支持并行开发。
1. 创建分支
git branch feature/login
2. 切换分支
git checkout feature/login
或一步创建并切换:
git checkout -b feature/login
3. 查看分支
# 查看本地分支
git branch# 查看所有分支(本地 + 远程)
git branch -a# 查看远程分支
git branch -r
4. 合并分支
将 feature/login
分支合并到 main
:
git checkout main
git merge feature/login
5. 删除分支
# 删除本地分支
git branch -d feature/login# 删除远程分支
git push origin --delete feature/login
五、查看历史与回退
1. 查看提交历史
git log
常用参数:
--oneline
:简洁输出--graph
:图形化显示分支合并历史-n 5
:显示最近 5 条记录
git log --oneline --graph -n 5
2. 查看文件更改内容
# 查看工作区与暂存区的差异
git diff# 查看暂存区与最新提交的差异
git diff --staged# 查看某次提交的具体更改
git show <commit-hash>
3. 撤销更改
撤销工作区修改(未
add
):git checkout -- filename.txt
撤销暂存区更改(已
add
但未commit
):git reset HEAD filename.txt
撤销最近一次提交(保留更改):
git reset --soft HEAD~1
彻底删除最近一次提交(不保留更改):
git reset --hard HEAD~1
⚠️
--hard
操作不可逆,请谨慎使用!
六、远程仓库操作
1. 查看远程仓库
git remote -v
2. 添加远程仓库
git remote add origin https://github.com/username/repository.git
3. 推送并设置上游分支
git push -u origin main
4. 获取远程分支信息
git fetch origin
七、实用技巧与最佳实践
1. 使用 .gitignore
忽略文件
在项目根目录创建 .gitignore
文件,指定不希望被 Git 跟踪的文件或目录:
# 忽略 node_modules
node_modules/# 忽略日志文件
*.log# 忽略环境变量文件
.env# 忽略 IDE 配置
.vscode/
.idea/
2. 使用别名简化命令
为常用命令设置别名:
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.lg "log --oneline --graph"
之后可使用 git st
代替 git status
,提高效率。
3. 分支命名规范
推荐使用语义化分支名:
feature/xxx
:新功能开发bugfix/xxx
:缺陷修复hotfix/xxx
:紧急热修复release/xxx
:发布版本
八、常见问题与解决方案
❌ git push
被拒绝?
可能原因:远程有新提交未拉取。
解决:先执行 git pull
合并后再推送。
❌ 合并冲突怎么办?
Git 会在冲突文件中标记冲突区域:
<<<<<<< HEAD
当前分支的代码
=======
远程分支的代码
>>>>>>> branch-name
解决步骤:
- 手动编辑文件,保留需要的代码
git add
冲突文件git commit
完成合并