我有一个存储库的分支,我在那里写我的代码部分。我犯了一个很大的错误,写了一些代码(通常是一种~50-100行的SQL代码)到主分支的fork(虽然我当时没有意识到这一点),然后拉请求主分支的fork到主分支的起源。原始仓库中的设置只允许我压缩和合并提交。所以现在我的情况是,每个pull请求就像60个提交和1个文件更改(实际上我工作过)。有没有一种方法可以同步原始repo和fork的状态,从master分支中删除所有不必要的提交?
c9qzyr3d1#
快速解答
首先,在fork中使用fetch来获取有关origin(原始存储库)状态的 * 信息 *然后,您将能够比较它们的状态并决定您想要做什么。您可以重写fork的历史记录以匹配origin但是,更改origin以匹配您的fork将更加困难:
fork
fetch
origin
要获得关于哪些操作可以帮助您实现这一点的更详细的答案,您需要提供有关origin和您的fork的当前状态的更多细节,以及您希望它们处于什么状态。此命令可能有助于:
git log --graph --oneline --decorate
gjmwrych2#
经过一番研究,我找到了一个可行的解决方案:
而我的fork(origin在这里)是与upstream同步的。
2条答案
按热度按时间c9qzyr3d1#
快速解答
首先,在
fork
中使用fetch
来获取有关origin
(原始存储库)状态的 * 信息 *然后,您将能够比较它们的状态并决定您想要做什么。
您可以重写
fork
的历史记录以匹配origin
但是,更改
origin
以匹配您的fork
将更加困难:origin
上的推送权限来重写历史记录origin
在其他人之间共享,因此需要通知他们,因为这可能会中断他们正在处理的事情要获得关于哪些操作可以帮助您实现这一点的更详细的答案,您需要提供有关
origin
和您的fork
的当前状态的更多细节,以及您希望它们处于什么状态。此命令可能有助于:gjmwrych2#
经过一番研究,我找到了一个可行的解决方案:
而我的fork(origin在这里)是与upstream同步的。