gpt4 book ai didi

git - GIT 有邪恶的孪生问题吗?

转载 作者:太空狗 更新时间:2023-10-29 12:57:51 25 4
gpt4 key购买 nike

在 ClearCase 中,如果在两个不同版本的目录中发现两个文件具有相同的名称,并且如果元素 OID 不同但名称相同,则会发生邪恶孪生。

在 GIT 中,SHA1 id 始终是唯一的,同名文件始终具有不同的 SHA1 id。

我们没有 Evil twins 的概念,但可能有 2 个或更多开发人员有机会在同一目录中创建具有相同文件名的不同内容的文件。在 merge 期间,当两个文件完全不同时,开发人员有可能单独保留他的更改而留下其他更改,从而导致代码丢失。

任何人都可以让我知道 GIT 中是否会出现类似于 ClearCase 的问题,或者因为每个 SHA1 id 都是唯一的,所以 GIT 中不会有任何 Evil twin 问题。

最佳答案

Git 在整个树的级别进行跟踪,而不是单个文件和目录,因此它没有像 OID 这样的概念。

当 merge 包含对文件的不兼容更改的历史记录时(例如,两者都添加了具有不同内容的新文件),Git 将产生 merge 冲突并停止让用户解决冲突或中止 merge 。

当然,Git 不能强制执行 merge 的用户做正确的事情,但完全忽略冲突的一方或许更难。在 Git 中,冲突将出现在文件本身,而不是保存文件的目录中。换句话说,冲突将是关于文件的内容而不是哪个 OID 应该链接到目录中。当然,根据使用的工具,用户可能仍然只是按“在所有冲突中站在我这边”,但 Git 不会在意(虽然懒惰的老板和同事可能会很在意!)。

关于git - GIT 有邪恶的孪生问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2910044/

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