Git, похоже, сохраняет капли, которые были добавлены, но не зафиксированы
#> mkdir foo
#> cd foo
#> echo a > data.txt
#> git add data.txt
#> find .git/objects
.git/objects/58/7be6b4c3f93f93c489c0111bba5596147a26cb
Хорошо, теперь измените содержимое.
#> echo b > data.txt
#> git add data.txt
#> find .git/objects
.git/objects/61/780798228d17af2d34fce4cfbdf35556832472
.git/objects/58/7be6b4c3f93f93c489c0111bba5596147a26cb
Нам больше не нужно 58/7be6b4c3f93f93c489c0111bba5596147a26cb
, не так ли?
#> git commit -m 'first'
#> find ./git/objects
.git/objects/c0/eef182819e5c530c407ca17a24e39cb6682ed3
.git/objects/61/780798228d17af2d34fce4cfbdf35556832472
.git/objects/58/7be6b4c3f93f93c489c0111bba5596147a26cb
.git/objects/70/a6a81a455bea58166d60d21060b074d3271b6a
Сирота 58/7be6b4c3f93f93c489c0111bba5596147a26cb
все еще там.
Я сделал git add
на многих файлах, которые затем изменились, прежде чем они были зафиксированы. Могу ли я удалить BLOB-объекты, на которые больше нет ссылок в индексе?