我正在使用GitLab作为版本控制系统。我观察到的是,每当我创建一个新的合并请求(将我的主服务器与上游主存储库进行比较)时,尽管“更改”只是空的,我可以在历史记录中看到以前的MR的先前提交:
我不知道这是否只是GitLab UI的问题,就像我在上游和主设备之间进行比较时一样,什么也看不到:
$ git diff upstream/master
<Nothing>
您有什么线索吗?如果未检测到更改,如何摆脱旧的提交?
答案 0 :(得分:2)
git diff
比较代码,而MR查看提交历史记录。
似乎您的前叉与上游不同步。
在沙箱中,使用您喜欢的日志工具以图形方式显示日志,或者执行
git log --decorate --graph --format=oneline upstream/master master
您应该看到master
和upstream/master
不同。
如果upstream/master
当前处于沙箱和分叉中所需的状态,我假设是master
,则可以使用origin/master
来同步它们。在这里,我假设git reset
是一个私有派生,并且您不在乎origin
中也没有的提交。
upstream
在这一点上,任何尝试从您的fork创建合并/拉取请求的操作都应该告诉您没有任何内容需要合并。
编辑:我在git fetch origin
git fetch upstream
git checkout master
git reset upstream/master
git push -f origin master
上添加了-f
,并提供了有关我认为您愿意丢弃的提交的注释。