如何解决删除 Git 中超过 90 天的文件版本
我想知道是否有办法使用 Git 中的任何设置或某种保留策略删除超过 90 天的某些版本的文件?
解决方法
不,没有。 Git 旨在无限期地保留历史记录,因为每次提交的对象 ID 是一个加密哈希,它隐式覆盖了到那时的整个历史记录。
可能有外部工具可以做到这一点,但它们必然会重写整个历史记录并更改每次提交的哈希值。
如果您的目标是删除一些敏感信息,GitHub has documentation on how to do this 以及许多其他工具也可以这样做。
,如果您想通过新提交删除文件,请执行以下操作:
~/bin/git-delete-files-older-then.sh //
#!/bin/bash
date=$1
git ls-files | while read path
do
if [ "$(git log --since \"$date\" -- $path)" == "" ]; then
rm "$path"
fi
done
chmod +x ~/bin/git-delete-files-older-then.sh
bash
(或 zsh ...)
cd /your/dir/YOUR_GIT_PROJECT/foo/
git-files-older-then.sh "2019-01-01"
// 这将删除“foo”目录中早于“2019-01-01”的所有文件
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。