Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从git存储库*中删除blob而不*更改历史记录?_Git - Fatal编程技术网

从git存储库*中删除blob而不*更改历史记录?

从git存储库*中删除blob而不*更改历史记录?,git,Git,我想在不更改任何提交的情况下从存储库中删除git对象。我不介意引用blob的特定提交是否无法正确签出。更重要的是,不必更新主分支的历史记录 有无数的答案和工具,但它们都改变了添加blob后的提交。这是可以避免的,尽管代价是回购协议中的“损坏”提交?你不能这样做。提交散列将根据定义进行更改。它迟早会影响使用存储库。例如,git gc将定期运行,它会触发git repack,如果对象丢失,该操作将失败。即使用户可能不想再次检查该提交,程序也可能会失败。例如,将回购协议推到一个新的位置,或者为此而拉动

我想在不更改任何提交的情况下从存储库中删除git对象。我不介意引用blob的特定提交是否无法正确签出。更重要的是,不必更新主分支的历史记录


有无数的答案和工具,但它们都改变了添加blob后的提交。这是可以避免的,尽管代价是回购协议中的“损坏”提交?

你不能这样做。提交散列将根据定义进行更改。它迟早会影响使用存储库。例如,
git gc
将定期运行,它会触发
git repack
,如果对象丢失,该操作将失败。即使用户可能不想再次检查该提交,程序也可能会失败。例如,将回购协议推到一个新的位置,或者为此而拉动回购协议。它不会被忽视。Git就是为了防止这种事情。