
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/loginCONFLICT (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等高级用法。
评论