git lfs migrate --no-rewrite 是否会更改所有分支?它会将大文件从历史记录更改为 LFS 对象吗?

问题描述 投票:0回答:1

在我的存储库中,我在历史记录中提交了大文件,并且也出现在最新的提交中。

我想使用

git lfs migrate --no-rewrite
以便之前提交的 SHA 不会被更改。

但是

--no-rewrite
会用LFS对象更改历史记录中的所有大文件对象吗?

我可以使用“--everything”标志来更新所有远程分支吗?

git git-lfs git-lfs-migrate
1个回答
0
投票

我想使用

git lfs migrate --no-rewrite
以便之前提交的 SHA 不会被更改。

据我所知,这个命令根本不是为了将引用迁移到 LFS。相反,添加它是为了在

.gitattributes
指定文件应存储为 LFS 指针的情况下纠正不正确的存储库状态,但实际上它是“按原样”存储的。例如,请参阅以下答案:Git 错误:遇到 7 个本应是指针的文件,但不是

要了解该主题,以下链接也可能有用:

但是
--no-rewrite

会用LFS对象更改历史记录中的所有大文件对象吗?


不能,因为根据定义直接从存储库存储中排除大文件数据本身需要重写历史记录以从中删除对象。

另外,我可以使用
--everything

标志来更新所有远程分支吗?


--everything

标志不能与

--no-rewrite
一起使用,因为后者会导致新的提交,因此只有
HEAD
被暗示和影响。
    

© www.soinside.com 2019 - 2024. All rights reserved.