gpt4 book ai didi

git - merge 时从存储库中删除文件会使它们消失

转载 作者:太空狗 更新时间:2023-10-29 13:00:27 24 4
gpt4 key购买 nike

这是一个演示问题的测试仓库:https://bitbucket.org/vektor330/bugtest

事件的顺序是这样的:

  1. 添加一些初始提交。
  2. A 将 Conflictsource 添加到 develop
  3. B 将 Conflict 添加到 master
  4. B 将 develop merge 到 master 中,使用“我的”策略解决 Conflict 上的冲突,并删除 source 来自存储库。现在这是一个空提交,但可以提交并推回远程。

结果是:source 已从存储库中完全消失。它出现在7dfa23e,在repo中有它出现的日志,它在5080a24悄悄消失,无影无踪。

我希望提交 5080a24 显示“source removed”,Git 或我的期望有什么问题?

最佳答案

why this wouldn't show as the "content of the merge commit".

您可以通过依次选择 merge 提交和两个父项中的每一个来可视化 merge 提交的内容。

当您选择(在 SourceTree 中)开发分支中的一个(除了 merge 提交)时,您清楚地看到 files_to_lose/source 已被删除:

diff

Why does the commit itself not show the missing file?

因为在 merge 提交的情况下,有两个 parent 要比较。 SourceTree 不提供针对这两个父项的差异。

当您选择 merge 提交时,适用于 Mac 或 Windows 的 GitHub 会:

GitHub for Windows

简而言之,这不是关于 Git,而是关于您正在使用的 Git GUI。

关于git - merge 时从存储库中删除文件会使它们消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31287006/

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