【发布时间】:2014-04-20 11:43:13
【问题描述】:
我已经分叉了一个存储库,将其克隆以获取本地副本以处理两个问题。我们称它们为问题 1 和问题 2。首先,我应用了三个提交来解决问题 1 中面临的问题。然后我做了git push origin master 将更改从我的本地 master 分支推送到 origin/master。在此之后,我发送了一个拉取请求来修复问题 1。因此,问题 1 的拉取请求附加了三个提交。
之后为了解决问题 2,我通过 git checkout -b upstream upstream/master 创建了另一个名为 upstream 的分支(我相信这会添加一个远程上游(与原始 URL 相同)并给我一个本地分支 upstream从upstream/master开始)。
现在我做了两个提交来解决问题 2,用 git cherry-pick <SHA> 挑选两个提交(这只是给了我“没有什么可提交”的消息)。在此之后,我做了git push origin upstream 以使用原始内容填充我本地上游分支中的更改。当我向问题 2 发送新的拉取请求时,问题 1 的三个提交与我为解决问题 2 所做的两个提交附加在一起。把所有事情都搞砸了。
(后来我还向origin/master 进行了第 4 次提交,以解决第 1 期中的一个问题,这意味着对第 1 期的拉取请求,现在附加了 4 次提交。)
然后我在本地提交了上游分支地址问题 2。我现在想要什么?我希望能够单独推送此提交并将此提交更新为问题 2 的拉取请求,并且我想将问题 1 中涉及的 4 次提交与问题 2 中涉及的 3 次提交分开。
到目前为止,一切都有些混乱。我是 git 和 github 的新手,有人可以帮我吗?
【问题讨论】:
标签: git version-control github