git基本使用
- git clone 拉取仓库项目
git clone https://github.com/xxx/xxx.git #拉取所有分支
git branch -a #查看所有分支
git checkout -b main #切换到main分支
git pull origin main #拉取远程仓库main分支
- git add 添加文件到暂存区(一般修改后执行)
git filename #修改
# 或者添加所有文件
git add . #
- git commit 提交文件到本地仓库
git commit -m "提交信息" #补充修改日志信息
- git push 推送文件到远程仓库
git push origin main #推送到远程仓库main分支
- git pull 拉取远程仓库文件
git pull origin main #拉取远程仓库main分支
- git status 查看当前状态
git status #查看当前状态
- git branch 查看分支
git branch #查看本地分支
git branch -r #查看远程分支
git branch -a #查看所有分支
- git checkout 切换分支
git checkout main #切换到main分支
- git merge 合并分支
git merge feature/new-dashboard #合并feature/new-dashboard分支到当前分支
- git branch -d 删除分支
git branch -d feature/new-dashboard #删除feature/new-dashboard分支
- git log 查看提交记录
git log #查看提交记录
- git reset 回退版本
git reset --hard HEAD^ #回退到上一个版本
git reset --hard HEAD~100 #回退到前100个版本
📌流程
- 克隆仓库并初始化
# 克隆仓库到本地(仅检出主分支)
git clone https://github.com/xxx/xxx.git
cd xxx
# 查看所有分支(包括远程分支)
git branch -a
- 创建并切换到功能分支
创建并切换到新分支(推荐命名格式:feature/xxx)
git checkout -b feature/new-dashboard
分支命名建议 示例
新功能 feature/payment-success
Bug修复 bugfix/validate-input
紧急修复 hotfix/ssl-issue
- 开发并提交代码
# 添加修改文件到暂存区
git add .
#提交代码(遵循Conventional Commits规范)
git commit -m "feat: add user dashboard"
- 推送功能分支到远程仓库
# 绑定并推送分支(首次推送必须加-u)
git push -u origin feature/new-dashboard
- 切回主分支并同步最新代码
# 切换到主分支
git checkout main
# 拉取远程主分支更新
git pull origin main
- 合并功能分支到主分支
# 合并本地分支到主分支
git merge feature/new-dashboard
# ⚠️ 冲突处理:
# 手动编辑冲突文件后执行:
git add conflicted-file.txt
git commit -m "Resolve merge conflicts"
- 提交合并后的主分支
# 推送主分支更新
git push origin main
8. 删除本地功能分支(可选)
git branch -d feature/new-dashboard
🔐 关键细节与最佳实践
- 分支命名规范(必须遵守)
分支类型 命名规则 示例
新功能feature/
+ 功能描述feature/new-dashboard
Bug修复bugfix/
+ 问题IDbugfix/INPUT-123
紧急修复hotfix/
+ 问题描述hotfix/ssl-issue
- 提交信息规范(必须遵守)
类型 前缀 示例
新增功能feat:
feat: add login button
修复 Bugfix:
fix: resolve auth bug
代码重构refactor:
refactor/api-response
- 拉取最新代码(推荐操作)
# 在功能分支开发时定期同步主分支
git checkout feature/new-dashboard
git pull origin main
- 使用 Pull Request 流程(团队协作必备)
在GitHub
创建PR
添加描述和关联Issue
等待Code Review
和测试通过
合并到主分支后删除功能分支
🎯 流程图解
+-----------------------------+ +-----------------------------+
| GitHub 主分支 (main) | | GitHub 主分支 (main) |
+-----------------------------+ +-----------------------------+
↓ (clone/pull) ↗ (PR合并) ↓ (clone/pull)
+-----------------------------+ +-----------------------------+
| 本地仓库 (main) | | 本地仓库 (main) |
+-----------------------------+ +-----------------------------+
↓ (checkout -b) ↗ (merge) ↓ (checkout -b)
+-----------------------------+ +-----------------------------+
| 本地功能分支 (feature/new-dashboard) | | 本地功能分支 (feature/new-dashboard) |
+-----------------------------+ +-----------------------------+
↓ (commit) ↗ (push) ↓ (commit)
+-----------------------------+ +-----------------------------+
| GitHub 功能分支 | | GitHub 功能分支 |
+-----------------------------+ +-----------------------------+
关键节点:克隆仓库、创建功能分支、合并到主分支、推送主分支
推荐路径:主流程(↓ → ↗ → ↓)|合并路径(↗)
⚠️ 常见错误与解决方案
- 合并冲突
# 手动解决冲突后标记为已解决
git add conflicted-file.txt
git commit -m "Resolve merge conflicts"
- 忘记关联远程分支
# 推送时首次绑定远程分支
git push -u origin feature/new-dashboard
- 主分支落后于远程
# 合并前必须拉取最新代码
git pull origin main
回滚
Step 1 查看提交历史
git log
Step 2 切换到需要回滚的分支
git checkout main
Step 3 回滚到指定提交
git reset --hard <commit-hash> # 也可以--hard HEAD^ 回退上一版本,也可以用HEAD~1 --hard HEAD^^ 回退上两个版本,也可以用HEAD~2表示
Step 4 强制推送回滚后的代码到远程仓库
git push -f origin main
📝总结
核心原则:隔离开发、频繁同步、明确沟通
推荐工具:GitHub PR
、GitLab Merge Request
进阶学习:Git Flow
工作流、GitHub Actions
文档特点:
通过加粗/列表/代码块实现逻辑分层
使用表格清晰展示规范要求
流程图解采用ASCII
字符图形化关键路径
错误提示突出显示高频问题解决方案
🔗
相关链接
Conventional Commits
规范
Git Flow
工作流
GitHub Actions
自动化
:heavy_plus_sign: Pull request 使用 (合并分支)
Step 1 克隆仓库或更新本地仓库至最新代码
git pull origin main # 从远程仓库的main分支拉取最新的代码
Step 2 切换到拉取请求的目标分支(基础分支)
git checkout main # 切换到主分支(默认的基础分支)
Step 3 将功能分支合并到基础分支
git merge new-feature # 将新功能分支(new-feature)合并到当前主分支
Step 4 推送合并后的代码到远程仓库
git push -u origin main
补充:
删除本地分支
git branch -d new-feature
删除远程分支
git push origin --delete new-feature
补充:
推荐练习git网站:
https://learngitbranching.js.org/?locale=en_US