gpt4 book ai didi

git - git squash 如何处理已删除的文件?

转载 作者:行者123 更新时间:2023-12-04 16:27:38 26 4
gpt4 key购买 nike

假设我将文件 A 添加为提交,然后决定删除文件 A。我没有使用 git --amend,而是创建另一个删除文件 A 的提交,我知道这是不好的做法。但是,如果我想使用 git merge --squash merge 我的分支。 git squash 如何处理两次提交?它是否在压缩提交中保留了文件 A 的一些信息,或者文件 A 根本不会出现在提交中。

另一种思考方式是,如果文件 A 是一个 1GB 的文件。当我删除文件 A 并压缩 merge 分支时,我不希望我的 git 在其历史记录中存储一个 1GB 的文件。

最佳答案

当您执行压缩 merge 时,Git 会获取从开始提交到结束提交的所有更改,并生成一个等效的提交。因此,如果在您压缩的提交中添加和删除了一个文件,那么最终结果是不存在文件,并且 Git 不会在结果提交中记录有关该文件的任何内容。

这些提交引用的对象可能仍存在于您的存储库中一段时间​​,即使它们不在您的分支的历史记录中,因为它们可以被 reflog(保留您的分支的历史记录)引用,但最终它们'如果它们未被任何分支、标签或其他引用引用,则将被删除。

关于git - git squash 如何处理已删除的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59869948/

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