【发布时间】:2016-07-12 15:06:55
【问题描述】:
我派生了一个存储库并在本地进行了一些更改。我提交了这些更改,但现在我想将这些更改合并回上游存储库。我在 Gitlab 上提出了合并请求,但失败了。显然我需要重新分配分叉的回购协议。
- 这是否意味着上游仓库有新的变化?
- 当我在执行合并请求之前比较分支时,为什么它显示没有冲突?
【问题讨论】:
我派生了一个存储库并在本地进行了一些更改。我提交了这些更改,但现在我想将这些更改合并回上游存储库。我在 Gitlab 上提出了合并请求,但失败了。显然我需要重新分配分叉的回购协议。
【问题讨论】:
问题是,你比较了什么?
我猜你分叉了 repo,克隆了你的 fork,然后将你的本地分支与远程分支进行了比较。
但如果上游发生变化,这又是一锅鱼。
使用git remote add ... 将上游存储库作为第二个远程添加到您的本地存储库并获取其更改,然后您可以比较所有三个,上游分支,您的分支分支和您的本地分支,并相应地根据上游重新设置您的分支在创建合并请求之前。
【讨论】:
我不确定我是否理解您的问题,但我想您想在拉取请求之前将一些提交合并为一个。如果这是您的问题:
在您的本地存储库中:
git rebase -i HEAD~n (n is the number or commits to be merged)
此后,编辑程序将向您打开“程序”操作
在前 n 行中,您告知您想要的命令:可能在您的情况下,您放置 squash 来合并提交。您可以看到命令列表。
Here你可以看到一个很好的视频一步一步解释。
之后,只需git push。如果您在合并提交之前推送,请使用git push --force,但请确保在使用--force时您在做什么
【讨论】: