【问题标题】:Issue submitting a pull request提交拉取请求的问题
【发布时间】:2018-06-21 16:20:00
【问题描述】:

我正在尝试提交一个分支的拉取请求并将其合并回其父分支,但拉取请求显示的更改就像我提交回主分支(父分支的分支所在)一样。

例如,假设我有一个基于 master(称为 M)的分支(称为 B)。在B 中,我创建了一个名为README.md 的文件。那个文件是空的。我在B 中向README.md 添加一行,提交并将这些更改推送到B。然后我从B(称为T)创建一个分支,向README.md 添加一行,提交并将这些更改推送到T

M
  \
   B (README.md - add one line)
     \
      T (README.md - add another line)

我遇到的问题是,当我提交合并 TB 的拉取请求时,显示的更改表明我正在添加 README.md 的整个文件,而不是那个我期待的行更改(T 中的更改与 B 中的最新更改之间的差异)。

我不确定这是怎么发生的。您以前遇到过这种情况吗?如果遇到过,您是如何解决的?

【问题讨论】:

  • 您是否有可以分享到此拉取请求的链接?
  • 对不起,我不能分享。代码与工作相关。
  • 您的示例有点做作,因为在这种情况下只有两行。我的猜测是,实际差异表明您正在删除文件的全部内容,然后重新添加新内容。 Git 的差异工具并不总是完美的。问题可能是有问题的两条线是相邻的。
  • 那你可以尝试在新的公共存储库中重现这个吗?
  • 如果连都无法重现问题,我们应该如何帮助你呢?

标签: git github branch branching-and-merging pull-request


【解决方案1】:

一个拉取请求包括两个分支:基础分支和比较分支。我确定你使用 M 作为基础分支,使用 T 作为比较分支,所以你会看到从拉取请求中添加整个文件的变化。

如果您只想获得包含另一行的更改,您可以选择 T 到 M 并创建一个新的拉取请求。

【讨论】:

  • 在 github 中,在提交拉取请求之前,我确保我选择了 T 而不是 B。
猜你喜欢
  • 2014-05-26
  • 2011-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-24
  • 2012-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多