git - 如何为以前的或旧的提交创建分支和 pull 请求?

标签 git github branch branching-and-merging pull-request

我有一个为更大项目创建和维护的项目。当我的项目准备就绪时,更大的项目 fork 了我的存储库,现在他们在他们的网站上发布了我的作品。他们对我在他们的 fork 上的工作做了一些改变。从那以后,我将这些更改 pull 回了我的存储库。

现在,几个月后,我想向他们的分支提交 pull 请求,以 pull 我所做的一些新更改。问题是我所做的具体更改是前一段时间的。我只想为我所做的这一特定更改创建 pull 请求。不幸的是,我从来没有为这个变化创建一个分支。更改已完成并提交给大型“开发”分支。 (可能不是最佳实践)从那时起我做了 6 或 7 个其他更改并提交给这个开发分支。

我将如何“挑选”一个提交到新分支的分支,然后将该分支作为 pull 请求提交到 Github 上的相关分支?我不太确定从哪里开始新分支,因为我所有的工作都在他们的分支之前。

最佳答案

  1. 将他们的分支添加为远程:git remote add someNameForTheirFork https://github.com/theiruser/theirfork.git
  2. 检查他们最新的:git checkout someNameForTheirFork/master(或他们发布的任何分支)
  3. check out 一个新分支:git checkout -b someNewBranch
  4. Cherry-pick 你的提交:git cherry-pick COMMIT_HASH
  5. 验证更改、推送新分支并从中创建 pull 请求。

关于git - 如何为以前的或旧的提交创建分支和 pull 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17414394/

相关文章:

git - Jenkins Git 插件分离 HEAD

git - Jenkins Git 插件包含的区域不起作用

Git - 使用 .gitattributes 强制一致的行结尾时很奇怪

heroku - 尝试 git Push 到远程分支时出现错误 (Heroku)

git - 重用 git 分支名称

ruby - Grit 的克隆方法未定义?

linux - git 是一个很好的备份工具吗?

git - 我必须做 cherry-pick 吗?

git - 如何在git中设置默认远程?

git - 从现有的本地分支创建新的 git 存储库