Git使用指南及常用命令总结

发布于:2025-08-15 ⋅ 阅读:(12) ⋅ 点赞:(0)

Git 是一个分布式版本控制系统,用于高效管理项目代码的变更历史。以下是 Git 的核心使用指南,涵盖常用命令和工作流程:


一、基础配置

# 设置用户名和邮箱(提交时显示作者信息)
git config --global user.name "Your Name"
git config --global user.email "your@email.com"

# 查看配置
git config --list

二、仓库操作

操作 命令
初始化新仓库 git init
克隆远程仓库 git clone https://github.com/user/repo.git
查看当前状态 git status
添加文件到暂存区 git add <file>git add .
提交更改 git commit -m "提交说明"
查看提交历史 git log (加 --oneline 简化输出)

三、分支管理

操作 命令
创建分支 git branch <branch-name>
切换分支 git checkout <branch-name>
创建并切换分支 git checkout -b <branch-name>
合并分支到当前分支 git merge <branch-name>
删除分支 git branch -d <branch-name>
查看所有分支 git branch -a

四、远程仓库操作

操作 命令
添加远程仓库 git remote add origin <远程仓库URL>
推送到远程分支 git push -u origin <branch-name>
拉取远程更新 git pull origin <branch-name>
查看远程仓库 git remote -v
从远程克隆特定分支 git clone -b <branch-name> <仓库URL>

五、撤销与回退

场景 命令
撤销工作区修改 git checkout -- <file>
撤销暂存区的文件 git reset HEAD <file>
回退到某个提交 git reset --hard <commit-id>
修改最后一次提交 git commit --amend

六、标签管理

# 创建标签
git tag v1.0.0

# 推送标签到远程
git push origin --tags

# 删除标签
git tag -d v1.0.0

七、高级技巧

  1. 储藏临时改动

    git stash        # 临时保存工作区
    git stash pop    # 恢复最近储藏的内容
    
  2. 查看差异

    git diff          # 工作区 vs 暂存区
    git diff --staged # 暂存区 vs 最新提交
    
  3. 忽略文件
    创建 .gitignore 文件,列出需忽略的文件/目录(如 logs/.env)。


八、典型工作流程

# 1. 获取最新代码
git pull origin main

# 2. 创建新分支开发
git checkout -b feature-new

# 3. 修改文件后提交
git add .
git commit -m "添加新功能"

# 4. 推送到远程
git push origin feature-new

# 5. 在GitHub/GitLab创建Pull Request(合并请求)

九、常见问题解决

  1. 合并冲突

    • 冲突文件会显示 <<<<<<<>>>>>>> 标记
    • 手动修改后执行:
      git add <冲突文件>
      git commit -m "解决冲突"
      
  2. 误删分支恢复

    git reflog                  # 查找分支最后的commit-id
    git checkout -b <branch> <commit-id>
    

学习资源

掌握这些命令后,可覆盖 90% 的日常开发需求。实践时建议结合图形化工具(如 VS Code 的 Git 面板)辅助操作。

以下是一个完整的 Git 使用实例案例,结合所有核心命令,模拟真实开发场景:

项目案例:开发简单的待办事项应用

# 场景说明
用户 "Alice" 在 GitHub 创建了空仓库 `todo-app`
开发者 "Bob" 需要完成以下任务:
1. 初始化本地项目
2. 开发基础功能
3. 修复紧急 bug
4. 发布版本
5. 与团队协作

完整操作流程(含所有命令)

阶段 1: 初始化和基础配置
# 全局配置
git config --global user.name "Bob Developer"
git config --global user.email "bob@company.com"

# 克隆远程仓库
git clone https://github.com/alice/todo-app.git
cd todo-app

# 初始化项目
echo "# TODO App" > README.md
echo "*.log" > .gitignore
mkdir src
touch src/app.js
阶段 2: 基础开发流程
# 查看状态
git status  # 显示未跟踪文件

# 添加并提交
git add .gitignore README.md src/
git commit -m "初始化项目结构"

# 创建功能分支
git checkout -b feature/add-ui

# 开发UI功能 (模拟)
echo "function renderUI() { /* UI代码 */ }" >> src/app.js

# 提交更改
git add src/app.js
git commit -m "添加UI渲染功能"

# 切换回主分支
git checkout main
阶段 3: 修复紧急 Bug
# 从主分支创建热修复分支
git checkout -b hotfix/login-bug

# 修复bug (模拟)
echo "function fixLogin() { /* 修复登录bug */ }" >> src/app.js

# 提交修复
git add src/app.js
git commit -m "紧急修复登录问题"

# 合并到主分支
git checkout main
git merge hotfix/login-bug

# 删除临时分支
git branch -d hotfix/login-bug
阶段 4: 版本发布
# 合并功能分支
git merge feature/add-ui

# 解决冲突 (若有)
# [手动解决冲突后...]
git add src/app.js
git commit -m "合并UI功能"

# 创建版本标签
git tag v1.0.0 -m "首个稳定版本"

# 推送到远程
git push origin main
git push origin --tags
阶段 5: 团队协作
# 获取同事的更新
git pull origin main

# 创建新功能分支
git checkout -b feature/dark-mode

# 开发新功能 (模拟)
echo "function enableDarkMode() { /* 深色模式 */ }" >> src/app.js

# 临时储藏更改
git stash save "WIP: 深色模式开发"

# 切换回主分支处理紧急任务
git checkout main

# [处理紧急任务...]

# 恢复储藏内容
git checkout feature/dark-mode
git stash pop

# 完成功能开发
git add src/app.js
git commit -m "添加深色模式支持"
git push origin feature/dark-mode

# 在GitHub创建Pull Request
阶段 6: 撤销和版本管理
# 意外修改了文件
echo "错误内容" > README.md

# 撤销工作区修改
git checkout -- README.md

# 错误提交后的修正
echo "新功能" > src/new-feature.js
git add src/new-feature.js
git commit -m "添加新功能"

# 发现提交信息错误
git commit --amend -m "添加重要新功能"

# 版本回退 (如果需要)
git log --oneline  # 查看提交历史
git reset --hard HEAD~1  # 回退到上一个提交

完整工作流示意图

[本地]                                     [远程]
1. git clone                               (GitHub仓库)
   ↓
2. 开发功能 (feature分支)
   ↓
3. git add/commit
   ↓
4. git pull origin main ──────────────────→ 获取更新
   ↓
5. 解决冲突 (如有)
   ↓
6. git push origin feature ───────────────→ 推送分支
   ↓
7. 创建Pull Request                       → 代码审查
   ↓
8. git checkout main
   ↓
9. git merge feature
   ↓
10. git tag v1.x.x
   ↓
11. git push origin main --tags ──────────→ 发布版本

关键命令总结表

类别 命令 使用场景
配置 git config --global user.name 设置用户名
克隆 git clone <url> 获取远程仓库
分支 git checkout -b <branch> 创建并切换分支
提交 git commit -am "msg" 添加并提交所有修改
撤销 git restore <file> 丢弃工作区修改 (Git 2.23+)
合并 git merge --no-ff <branch> 保留分支历史的合并
推送 git push -u origin <branch> 首次推送分支并建立跟踪
拉取 git pull --rebase 变基方式获取更新
储藏 git stash pop 恢复最近储藏的更改
标签 git tag -a v1.0 -m "msg" 创建带注释的标签
日志 git log --graph --oneline 图形化查看历史

这个案例覆盖了日常开发中 90% 的 Git 使用场景,包括:

  1. 个人开发流程(提交、分支、合并)
  2. 团队协作(推送、拉取、解决冲突)
  3. 紧急修复(热修复分支)
  4. 版本管理(标签)
  5. 错误处理(撤销、修改提交)
  6. 多任务处理(储藏)

实际使用时,建议配合 VS Code 的 Git 图形界面操作,复杂操作(如 rebase)可在命令行执行。


网站公告

今日签到

点亮在社区的每一天
去签到