gpt4 book ai didi

git - GIT 如何理解它可以获取最新文件而不是在 diff 中显示它

转载 作者:太空狗 更新时间:2023-10-29 14:38:33 25 4
gpt4 key购买 nike

假设我们创建了一个分支 new_branch。我们在那里更改 1 个文件,提交这个文件,推送并创建一个 pull 请求到 parent rep/master

与此同时,父代表更改了很多,假设更改了 100 个文件,但未更改 1 个文件。

而且, pull 请求 diff 将显示只有 1 个文件被更改。

那么 GIT 如何理解实际上只需要 merge 1 个文件,而不是 101 个文件。我的意思是 parent rep/masterchild rep/new_branch 相比,实际上有 101 个文件被更改,而不是 1 个文件..

最佳答案

这是一个三向 merge ,这意味着 git 会将你的进化与以下之间的共同祖先进行比较:

  • 你的分支机构
  • parentRepo 分支

该差异是为 merge 应用的差异。

在“Why is a 3-way merge advantageous over a 2-way merge?”中查看更多信息。

A----C  (yourBranch: 1 file modified, compared to A, the common ancestor)
\
--B (parentRepo master: 100 files modified)

merge 时:

A----C  
\ \
--B--D (only one file is merged to parentRepo branch)

在“Pro Git book: Basic Merging”中查看更多信息:

http://git-scm.com/figures/18333fig0316-tn.png

关于git - GIT 如何理解它可以获取最新文件而不是在 diff 中显示它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24017936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com