【问题标题】:Why does pull request show File Contents Unchanged for almost all files?为什么拉取请求显示几乎所有文件的文件内容未更改?
【发布时间】:2016-11-17 12:27:13
【问题描述】:

使用 Git 和 Bitbucket,我想通过拉取请求将我的功能分支合并到通用开发分支中。分支如下:

Master -> Development 1.0 -> Feature branch
Master -> Development 1.1

在 Development 1.1 再次从 Master 分支之前,Development 1.0 被合并到 Master。

在开发过程中,我已将 Development 1.0 和之后的 Development 1.1 合并到我的功能分支中,以使用其他贡献者的代码对其进行更新。现在我想通过创建拉取请求将 Feature branch 合并到 Development 1.1 中。

但是,当我在 Bitbucket 页面上执行此操作时,它只显示两个最顶层文件的更改,所有其他文件都显示为“+0 -0”和“文件内容未更改”,即使是新的而不是在开发分支上。为什么会这样?我是不是因为合并了两个不同的分支而搞砸了?

直接合并(不创建拉取请求)按预期工作,所以我认为这是拉取请求/Bitbucket 特定的问题,而不是我的存储库的问题?

【问题讨论】:

  • 您在feature 分支中唯一修改了多少个文件?
  • 可能是文件权限或行尾。您是在 Windows 上,与在 OSX 或 Linux 上的同事一起工作(反之亦然)吗?
  • @TimBiegeleisen 我不确定您所说的“唯一修改”是什么意思,但有 62 个文件被更改,其中 14 个是新文件。在特性分支的开发过程中,大约5-10个现有文件也被开发分支的同事编辑,然后合并到我的特性分支中)
  • @Chris 该项目的每个人都在 Windows 上工作

标签: git bitbucket branching-and-merging pull-request


【解决方案1】:

我自己回答这个问题,因为我可能找到了这个问题的原因,这不是很多人会遇到的。

我找到了所描述行为开始发生的特定提交。这个提交恰好发生在我一直使用的客户端 Sourcetree 停止正常工作的同一天。

我强烈怀疑 SourceTree 在出现故障时以某种方式“损坏”了当时处于活动状态的分支,从而导致了这种奇怪的行为。

【讨论】:

  • 你解决过这个问题吗?我同样怀疑提交被某种方式损坏了。
  • 不,我没有解决这个问题,至少没有以适当的方式解决。如果我正确地记得手动将文件从损坏的分支复制+粘贴到新分支中,然后创建拉取请求作为拉取请求目的的解决方法,但当然你会丢失提交历史信息。结论(没有任何证据支持)仍然是 Sourcetree 在那天停止正常工作时损坏了该分支。
  • 谢谢。我发现我的问题可能不是一回事。我的问题是导入到我们存储库中的某些文件的编码类型不是 UTF-8,因此内部 git diff 引擎无法呈现结果。
猜你喜欢
  • 2018-11-29
  • 2018-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-26
  • 2019-03-07
  • 1970-01-01
相关资源
最近更新 更多