gpt4 book ai didi

git update-index --assume-unchanged 在 merge 时没有按预期工作

转载 作者:行者123 更新时间:2023-12-04 18:07:56 30 4
gpt4 key购买 nike

我更新了一些文件的索引以从 git 中取消跟踪它们。不幸的是,这些文件在队友的一些提交中仍在流通。

这意味着如果我提取更改,即使我已经忽略了我这边的那些文件,这些文件仍然会导致冲突和一些取消链接错误。我可以解决这个问题的唯一方法是使用 --no-assume-unchanged 取消设置更新索引,然后重新提交所有文件以完成 merge 。这会造成文件再次流通的恶性循环。

如何在不强制整个团队重新克隆他们的存储库的情况下解决这个问题?

最佳答案

你不是很清楚你最终想要达到的目标,在我看来,这很有可能是一个社会和协调问题,而不是 assume 的问题-不变

如果你的最终目标是从循环中删除文件(结束你所说的“恶性循环”),你应该使用 git rm 删除它们,确保构建是正确的并且在那里没有测试或暂存错误,并将结果提交并发布(即推送)到权威的开发分支,例如 master。当你的团队成员将 pull 分支时,他们将不得不处理文件已经消失的事实,并将这个事实 merge 到他们的开发分支中。这当然更多的是沟通和协调问题,而不是 git 问题,并且不需要重新克隆存储库。

但是,如果您的最终目标是永久忽略您的开发工作树中的文件,尽管有任何提取和 pull ,那么 assume-unchanged 是错误的工具,因为它的文档明确要求您手动处理 merge 提交。这当然是优雅而正确的继续进行的方式——毕竟文件在存储库中,你需要知道它的变化。

关于git update-index --assume-unchanged 在 merge 时没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22233723/

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