gpt4 book ai didi

git - 让 git 不记住一个文件的历史

转载 作者:太空狗 更新时间:2023-10-29 14:42:34 24 4
gpt4 key购买 nike

我想配置 git 存储库,这样它就不会记住一个长文件的历史,但仍会保留其最新版本。

这可能吗?

P.S. 感谢您的回答 --- 我现在确信我不想那样做。

最佳答案

所以... 有几个人(评论和 Hauleth 的回答)正在推荐像 LFS 这样的解决方案,它可以有效地管理 git repos 中的大文件需求。似乎没有人十分确定您为什么想要您指定的行为,而不是这些行为所提供的行为……这是有充分理由的。 git 的很大一部分目的是能够重现你的代码的过去版本。如果我们将您期望的行为与 LFS 进行比较,最大的区别在于,在您期望的行为下,不可能重现系统的先前版本。因此,您确实不清楚为什么您想要那个。

不过没关系...让我们开始您的问题。

可以吗?好吧...通过阻碍 git 使其甚至无法正确执行基本的源代码控制功能,您可以伪造它。但这并不容易,git 会在每一步都对你不利。听起来不错?

在您开始询问“RsrchBoy 的解决方案如何”之前……这是一个会阻碍 git 处理您的存储库的能力的方案。在他们看到您的问题“[暗示您] 可以编辑提交历史记录”的地方,我认为这表明您没有意识到不断编辑提交历史记录的后果。

很难做到正确,尤其是作为日常工作流程的一部分。

这变得更难了,因为根据定义,您的用例需要编辑历史记录,或者 (a) 有待提交的分阶段更改,或者 (b) 在提交您不想编辑的更改后立即编辑。

一旦你让它正常工作,每次你这样做时,refs 都会以非快进的方式移动,使共享 repo 的其他人处于糟糕的状态。如果他们为了从该状态恢复而做错了事,该文件的额外副本可能会弹回到历史记录中。即使每个人都配合,要防止 Remote 囤积所有这些过时的文件副本可能仍然非常困难(取决于您的 Remote 的托管方式)。

也许最后那些担忧并不会让您担心,因为也许您是您的存储库的唯一用户,也许您没有使用 Remote 。如果是这样的话——如果你没有使用 git 作为分布式版本控制系统的关键优势,并且你正试图做一些违背其历史跟踪模型的事情——那么 git 可能不是最好的工具适合您的用例。

或者,正如其他人暗示的那样,也许需要重新评估用例。那是你和你团队中的其他人之间的事。

关于git - 让 git 不记住一个文件的历史,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49368014/

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