OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  社区  ›  AI Code

从 Pull Request 到本地合并:一次完整的 Git Merge 实战指南

 
  attract ·  2026-03-29 15:23:36 · 16 次点击  · 0 条评论  

在日常开发中,我们经常会在 GitHub 上通过 Pull Request(PR)来合并代码。但有时候你可能希望在服务器或本地手动完成合并,比如在生产环境机器上直接操作仓库。

本文以一个真实场景为例,带你完整走一遍:从获取 PR 分支 → 合并 → 处理编辑器 → 推送到远程


一、背景

假设你的仓库中有一个 PR 分支:

cursor/development-environment-setup-ce8c

你想把它合并到 main 分支。


二、常见错误(你可能已经遇到)

一开始你可能会直接执行:

git merge cursor/development-environment-setup-ce8c

结果报错:

not something we can merge

原因

👉 这个分支只存在于远程(origin),本地并没有


三、正确操作步骤

1️⃣ 拉取远程分支信息

git fetch origin

你会看到类似输出:

[new branch] cursor/... -> origin/cursor/...

说明远程分支已经获取成功。


2️⃣ 合并远程分支

⚠️ 注意:这里一定要带 origin/

git merge origin/cursor/development-environment-setup-ce8c

四、进入 nano 编辑器怎么办?

执行 merge 后,你可能会进入一个界面(nano 编辑器),类似这样:

Merge branch 'cursor/xxx' into main

👉 这是 Git 在让你填写 合并提交信息(commit message)


✅ 正确操作

按顺序操作:

Ctrl + O    (保存)
回车        (确认文件名)
Ctrl + X    (退出)

完成后,merge 就成功了。


❌ 如果想取消

Ctrl + X
按 N(不保存)

五、最后一步:推送到远程

merge 只是本地完成,还需要 push:

git push origin main

六、进阶技巧

✅ 1. 避免进入编辑器

如果你不想每次都进入 nano:

git merge origin/xxx --no-edit

✅ 2. 创建本地分支再合并(更清晰)

git checkout -b cursor-dev origin/cursor/development-environment-setup-ce8c
git checkout main
git merge cursor-dev

✅ 3. 查看所有分支

git branch -a

七、常见问题总结

问题 原因
not something we can merge 分支不存在(本地没拉)
merge 进入 nano 正常现象,填写 commit message
push 被拒绝 远程有保护规则或冲突

八、一句话总结

👉 Git 合并远程 PR 分支的核心是:

先 fetch → 用 origin/分支名 merge → 保存提交 → push


如果你经常在服务器或生产环境直接操作 Git,这套流程基本就是你的“标配动作”。

掌握之后,处理 PR 将会非常顺畅 🚀

16 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 16 ms
Developed with Cursor