Git版本控制实战:从零开始掌握代码管理

运维  ·  2026-06-26

Git

Git是目前最流行的版本控制系统,几乎所有的软件开发团队都在使用。本文从实际工作场景出发,整理Git最常用的命令和操作流程。

一、基础配置

# 设置用户信息
git config --global user.name "你的名字"
git config --global user.email "your@email.com"

# 查看配置
git config --list

# 设置默认编辑器
git config --global editor vim

# 设置别名(提高效率)
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 config --global alias.lg "log --oneline --graph --all"

二、仓库操作

# 初始化新仓库

git init

 克隆远程仓库

git clone https://github.com/user/repo.git

 克隆指定分支

git clone -b develop https://github.com/user/repo.git

 添加远程仓库

git remote add origin https://github.com/user/repo.git

 查看远程仓库

git remote -v

 修改远程地址

git remote set-url origin https://github.com/user/new-repo.git

三、日常开发流程

# 查看状态
git status

 添加文件到暂存区

git add file.txt          # 添加单个文件
git add .                 # 添加所有修改
git add *.py              # 添加所有Python文件

 提交

git commit -m "feat: 添加用户登录功能"

 推送到远程

git push origin main

 拉取远程更新

git pull origin main

 查看差异

git diff                  # 工作区vs暂存区
git diff --staged         # 暂存区vs上次提交
git diff HEAD             # 工作区vs上次提交

四、分支管理

# 查看分支
git branch                # 本地分支
git branch -r             # 远程分支
git branch -a             # 所有分支

 创建并切换分支

git checkout -b feature/login

 或新版命令

git switch -c feature/login

 切换分支

git checkout main
git switch main

 合并分支

git checkout main
git merge feature/login

 删除分支

git branch -d feature/login          # 已合并的分支
git branch -D feature/login          # 强制删除
git push origin --delete feature/login  # 删除远程分支

五、撤销与回退

# 撤销工作区修改
git checkout -- file.txt

 或新版命令

git restore file.txt

 撤销暂存(从暂存区移除)

git reset HEAD file.txt

 或新版命令

git restore --staged file.txt

 修改上次提交

git commit --amend -m "新的提交信息"

 回退到指定提交(保留修改)

git reset --soft HEAD~1

 回退到指定提交(丢弃修改)

git reset --hard HEAD~1

 回退到指定提交(保留工作区)

git reset --mixed HEAD~1

 查看提交历史

git log --oneline -20
git log --graph --oneline --all

六、暂存工作区

# 暂存当前修改
git stash

 暂存并添加描述

git stash save "正在开发登录功能"

 查看暂存列表

git stash list

 恢复最近的暂存

git stash pop

 恢复但不删除暂存

git stash apply stash@{0}

 删除暂存

git stash drop stash@{0}

 清空所有暂存

git stash clear

七、标签管理

# 创建标签
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 merge feature/login

 CONFLICT (content): Merge conflict in file.txt

 查看冲突文件

git status

 手动编辑冲突文件,保留需要的代码

 <<<<<<< HEAD

 当前分支的代码

 =======

 合并分支的代码

 >>>>>>> feature/login

 解决后提交

git add file.txt
git commit -m "merge: 解决登录功能冲突"

 放弃合并

git merge --abort

九、提交规范

推荐使用Conventional Commits规范:

feat:     新功能
fix:      修复bug
docs:     文档更新
style:    代码格式(不影响功能)
refactor: 重构
test:     测试相关
chore:    构建/工具相关

示例:
git commit -m "feat: 添加用户注册功能"
git commit -m "fix: 修复登录页面验证码显示异常"
git commit -m "docs: 更新README安装说明"

掌握这些Git命令,基本能应对90%的日常开发场景。建议多练习,熟悉后再学习rebase、cherry-pick等高级用法。

评论
远方. All Rights Reserved. Theme Jasmine by Kent Liao.