写完代码提交了,我不知道pr关闭后提示的delete branch会怎么样 | Git PR 操作教程

264 阅读4分钟

Git PR 操作教程

概述

本文档基于实际问答整理,涵盖Git PR(Pull Request)的完整操作流程,包括分支管理、PR创建、合并和清理等步骤。

1. PR流程基础

1.1 什么是"安全删除分支"

当GitHub提示"可以安全删除分支"时,意味着:

  • PR已经成功合并到main分支
  • 分支使命完成,代码更改已保留
  • 删除分支不会丢失任何代码或提交历史

1.2 删除分支的两种方式

通过GitHub Web界面删除(推荐)
  • 在PR页面点击"Delete branch"按钮
  • 最简单的方式,GitHub会自动处理
通过命令行删除
# 切换到main分支
git checkout main

# 拉取最新更改
git pull origin main

# 删除本地分支
git branch -d your-branch-name

# 删除远程分支
git push origin --delete your-branch-name

2. 分支删除后的本地状态

2.1 现象说明

在GitHub上删除分支后,本地Git Graph仍显示该分支标签的原因:

  • 本地Git保留着对远程分支的引用
  • Git缓存远程分支信息以提高性能
  • 分支的提交历史仍然存在于本地仓库中

2.2 是否有影响

通常没有负面影响,但建议清理:

可能的影响:
  • 视觉混乱:Git Graph界面显示过时的分支标签
  • 命令提示:git branch -r 显示已删除的远程分支
  • 存储空间:占用少量本地存储空间
不会影响:
  • ✅ 代码功能
  • ✅ 当前开发工作
  • ✅ 与远程仓库的同步

2.3 清理本地引用

# 方法1:自动清理(推荐)
git remote prune origin

# 方法2fetch时自动清理
git fetch --prune

# 方法3:一次性清理所有过时引用
git fetch --prune --all

3. 命令行PR操作

3.1 完整PR流程

准备工作
# 确保在main分支并拉取最新代码
git checkout main
git pull origin main

# 创建并切换到新分支
git checkout -b feature/your-feature-name
开发并提交代码
# 进行代码修改...

# 添加文件到暂存区
git add .

# 提交更改
git commit -m "feat: 添加新功能描述"

# 推送到远程分支
git push origin feature/your-feature-name
创建PR(使用GitHub CLI)
# 安装GitHub CLI
winget install GitHub.cli  # Windows

# 登录
gh auth login

# 创建PR
gh pr create

# 或指定参数
gh pr create --title "功能标题" --body "详细描述" --base main
管理PR状态
# 查看PR状态
gh pr status

# 查看PR列表
gh pr list

# 查看特定PR
gh pr view <PR号>

# 检查PR是否可以合并
gh pr checks
更新PR
# 如果有新的提交,推送到同一分支
git add .
git commit -m "fix: 修复问题"
git push origin feature/your-feature-name
# PR会自动更新
合并PR
# 合并PR(需要权限)
gh pr merge <PR号>

# 指定合并方式
gh pr merge <PR号> --squash
gh pr merge <PR号> --merge
gh pr merge <PR号> --rebase
清理分支
# 切换回main分支
git checkout main
git pull origin main

# 删除本地分支
git branch -d feature/your-feature-name

# 删除远程分支
git push origin --delete feature/your-feature-name

# 清理过时的远程引用
git remote prune origin

3.2 常用GitHub CLI命令

# 查看仓库状态
gh repo view

# 查看PR列表
gh pr list --state all

# 查看PR差异
gh pr diff <PR号>

# 添加评论
gh pr comment <PR号> --body "评论内容"

# 请求代码审查
gh pr request-review <PR号> --reviewer username

# 查看PR时间线
gh pr timeline <PR号>

4. 最佳实践

4.1 分支管理

  • 立即删除已合并的分支,保持仓库整洁
  • 确认PR真正合并成功后再删除
  • 与团队约定分支命名规范(如feature/xxxbugfix/xxx

4.2 本地仓库维护

  • 定期运行 git remote prune origin
  • 配置自动清理:git config --global fetch.prune true
  • 使用现代IDE工具自动处理清理工作

4.3 注意事项

  • 删除分支是不可逆操作,但不会影响已合并的代码
  • 如果分支还有未合并的更改,GitHub会警告
  • 某些操作需要仓库的写入权限
  • 确保使用最新版本的GitHub CLI

5. 总结

通过命令行完成PR流程可以提高开发效率,关键步骤包括:

  1. 创建功能分支
  2. 开发并提交代码
  3. 使用GitHub CLI创建PR
  4. 管理PR状态和更新
  5. 合并PR
  6. 清理分支和本地引用

保持本地仓库整洁和定期清理是良好的开发习惯。

本文使用 mdnice 排版