我有两个分支机构已经很长时间没有合并,我试图看到差异。我得到一个幻影删除。
如果我开始拉取请求,github网站会将未更改显示为更改(例如,两个分支中相同的内容显示为更改为版本I&m;尝试合并)。基本上,如果我对两个分支进行了更改,则会将其显示为与此拉取请求相关的更改。
有很好的工具可以在命令行执行此操作,例如Showing which files have changed between two revisions
但是有没有办法在github网站上看到两个分支之间的变化?
这是一个小例子
https://github.com/pdbailey0/knitIgnore/pull/1/files
它显示为(幻像)删除,当你查看来源时显然不是什么
来自c1 https://github.com/pdbailey0/knitIgnore/blob/c1/DESCRIPTION
和c2 https://github.com/pdbailey0/knitIgnore/blob/c2/DESCRIPTION
答案 0 :(得分:0)
这样的事情有帮助吗?
https://help.github.com/articles/comparing-commits-across-time/#comparing-branches
<强>更新强>:
从github,转到分支,然后选择一个分支,例如c1。从那里点击比较,它位于绿色克隆按钮的正下方。 哪个应该带你到比较页面。从那里选择你想要比较的分支。
https://github.com/pdbailey0/knitIgnore/compare/c2...c1
<强>更新强>: 在与support@github.com的工作人员交谈后,发现github目前不支持我们试图通过分支机构实现的文件比较文件。遗憾。
答案 1 :(得分:0)
从支持@ github回复的人做了一个评论,引导我找到解决方案:
我有两个分支:beta(B)和release(R),我尝试将我在R中的任何错误修复合并到B中。要看到diff(但不删除我从B中删除的任何内容)在创建R时执行此操作:
grep -lr '<<<<<<<' . | xargs git checkout --theirs
自动完成,其中theirs
是文字的,不需要替换。请参阅here 它非常狡猾,但它确实有用。
编辑为automerge提供代码。
编辑:
这就是我做的。在这里,您必须在您的测试版中替换B
git checkout B
确保它干净,然后
git checkout -b Bcopy
在下一行,您必须用R
git merge R
grep -lr '<<<<<<<' . | xargs git checkout --theirs
git add --all
git commit -m "merge"
git push origin Bcopy
现在你可以去网站和差异B和Bcopy看到一个诚实的差异!