git基本使用

  1. git clone 拉取仓库项目
git clone https://github.com/xxx/xxx.git  #拉取所有分支

git branch -a  #查看所有分支
git checkout -b main  #切换到main分支
git pull origin main  #拉取远程仓库main分支
  1. git add 添加文件到暂存区(一般修改后执行)
git filename  #修改
# 或者添加所有文件
git add .  #
  1. git commit 提交文件到本地仓库
git commit -m "提交信息"  #补充修改日志信息
  1. git push 推送文件到远程仓库
git push origin main  #推送到远程仓库main分支
  1. git pull 拉取远程仓库文件
git pull origin main  #拉取远程仓库main分支
  1. git status 查看当前状态
git status  #查看当前状态
  1. git branch 查看分支
git branch  #查看本地分支
git branch -r  #查看远程分支
git branch -a  #查看所有分支
  1. git checkout 切换分支
git checkout main  #切换到main分支
  1. git merge 合并分支
git merge feature/new-dashboard  #合并feature/new-dashboard分支到当前分支
  1. git branch -d 删除分支
git branch -d feature/new-dashboard  #删除feature/new-dashboard分支
  1. git log 查看提交记录
git log  #查看提交记录
  1. git reset 回退版本
git reset --hard HEAD^  #回退到上一个版本
git reset --hard HEAD~100  #回退到前100个版本

📌流程

  1. 克隆仓库并初始化
# 克隆仓库到本地(仅检出主分支)
git clone https://github.com/xxx/xxx.git
cd xxx

# 查看所有分支(包括远程分支)
git branch -a
  1. 创建并切换到功能分支
    创建并切换到新分支(推荐命名格式:feature/xxx)
git checkout -b feature/new-dashboard

分支命名建议 示例
新功能 feature/payment-success
Bug修复 bugfix/validate-input
紧急修复 hotfix/ssl-issue

  1. 开发并提交代码
# 添加修改文件到暂存区
git add .
#提交代码(遵循Conventional Commits规范)
git commit -m "feat: add user dashboard"
  1. 推送功能分支到远程仓库
# 绑定并推送分支(首次推送必须加-u)
git push -u origin feature/new-dashboard
  1. 切回主分支并同步最新代码
# 切换到主分支
git checkout main

# 拉取远程主分支更新
git pull origin main
  1. 合并功能分支到主分支
# 合并本地分支到主分支
git merge feature/new-dashboard

# ⚠️ 冲突处理:
# 手动编辑冲突文件后执行:
git add conflicted-file.txt
git commit -m "Resolve merge conflicts"
  1. 提交合并后的主分支
# 推送主分支更新
git push origin main
8. 删除本地功能分支(可选)
git branch -d feature/new-dashboard

🔐 关键细节与最佳实践

  1. 分支命名规范(必须遵守)
    分支类型 命名规则 示例
    新功能 feature/ + 功能描述 feature/new-dashboard
    Bug修复 bugfix/ + 问题ID bugfix/INPUT-123
    紧急修复 hotfix/ + 问题描述 hotfix/ssl-issue
  2. 提交信息规范(必须遵守)
    类型 前缀 示例
    新增功能 feat: feat: add login button
    修复 Bug fix: fix: resolve auth bug
    代码重构 refactor: refactor/api-response
  3. 拉取最新代码(推荐操作)
# 在功能分支开发时定期同步主分支
git checkout feature/new-dashboard
git pull origin main
  1. 使用 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 功能分支              |
+-----------------------------+        +-----------------------------+

关键节点:克隆仓库、创建功能分支、合并到主分支、推送主分支
推荐路径:主流程(↓ → ↗ → ↓)|合并路径(↗)
⚠️ 常见错误与解决方案

  1. 合并冲突
# 手动解决冲突后标记为已解决
git add conflicted-file.txt
git commit -m "Resolve merge conflicts"
  1. 忘记关联远程分支
# 推送时首次绑定远程分支
git push -u origin feature/new-dashboard
  1. 主分支落后于远程
# 合并前必须拉取最新代码
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 PRGitLab 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