相关疑难解决方法(0)

Git Merge:通过在合并文件中包含相同的代码块TWICE而无怨言地合并并行相同的添加而没有冲突.为什么?

我在我的Git日志中有一个有点棘手的历史,我试图完全理解.

在解释提交顺序之前,让我粘贴Git日志的图像(使用SmartGit可视化历史记录)来查询相关文件:

git_history_later

...

git_history_earlier

显示的是与我的问题相关的Git历史,不相关的中间部分被剪掉了.

两位开发人员对相关文件(Developer 1和Developer 2)进行了代码更改.

开发人员1

  • 检查图片中标有" origin/staging " 的分支(但在签出时也是' origin/development ')
  • 添加一个小代码块(见下文)
  • 提交和推送 - 此推送标记为' jon-dev-test-merge ',上面
  • 对前一次提交的代码进行简单的空格更改,并提交/推送此空白更改,标记为" jon-dev-test-merge-2 ",上面
  • 意识到他本应该在一个单独的分支上工作,所以重新开始并检查' origing/staging '(当时,' origin/development '),进入一个名为' jons_dev ' 的新分支,他推动它,并设置跟踪起源
  • 将相同的小代码块(不包括空格更改)添加到此新分支(蓝线)(在标记为' test-merge-sales ' 之前的某个时间进入提交)
  • 后来,看到开发人员2已就"改变产地/发展 "分支,合并" 产地/发展 "为他的" jons_dev "分支

与此同时...

开发人员2

  • 检查图片中标有" origin/staging " 的分支(但在签出时也是' origin/development ')
  • 将代码更改为另一个文件(与上面的Developer 1中的代码更改完全无关) - 这是他在本地开发机器上的工作副本
  • 将Developer 1的代码更改为" origin/development "分支,并将其合并到本地分支/工作副本中; 合并成功,没有冲突.请注意,我们没有看到Developer 2合并到他的本地分支中(因为他没有将该分支推送到原点),而只是从他的本地分支合并(参见下一个要点)回到' origin/development ' 那个时候的分支.
  • 从本地机器上的原点合并到跟踪的开发分支中,并将合并推回原点 - 标记为' vladimir-test-merge ',上面

到现在为止还挺好.

这是我的问题.

在理解上述事件序列的过程中,我注意到一些奇怪的事情 - 对于有问题的文件, " 起源/开发 "分支没有任何变化需要合并到标记为" …

git merge

9
推荐指数
1
解决办法
2282
查看次数

标签 统计

git ×1

merge ×1