4.1 Git - Сборка мусора

Поділитися
Вставка
  • Опубліковано 9 жов 2024
  • Когда и как git удаляет "недостижимые" коммиты?
    Регулярная чистка мусора.
    Влияние reflog на чистку мусора.
    Запуск чистки репозитория прямо сейчас: reflog expire, git gc

КОМЕНТАРІ • 4

  • @JavaScriptru-videos
    @JavaScriptru-videos  3 роки тому

    Ссылки:
    - Git курс (playlist): ua-cam.com/video/W4hoc24K93E/v-deo.html
    - Git разное (playlist): ua-cam.com/video/8HxTHPkdedA/v-deo.html
    - Учебник и курсы по JavaScript и смежных технологиям: learn.javascript.ru

  • @daneltr1557
    @daneltr1557 2 роки тому

    спасибо вам

  • @si6arit
    @si6arit 3 місяці тому

    00:00 Удаление недостижимых коммитов
    • Гид удаляет недостижимые коммиты, но не сразу, а через некоторое время.
    • Это связано с тем, что проверка достижимости коммитов может занять много времени.
    • Гид удаляет коммиты, если они не достижимы ни по одной из ссылок.
    01:56 Сборка мусора и удаление недостижимых коммитов
    • Гид запускает сборку мусора автоматически в некоторых командах, включая слияния и загрузку данных сервера.
    • Команда "git gc" удаляет недостижимые коммиты и оптимизирует базу.
    • Если коммит был сделан менее чем две недели назад, он точно есть в базе и может быть найден через "git fsck" или "git gc --prune=all".
    04:53 Удаление коммитов с помощью команды "git filter-branch"
    • Команда "git filter-branch" позволяет заменить коммиты ветки на новые, содержащие нужные файлы.
    • Это позволяет удалить ненужные файлы из коммитов, но оставить их в базе.
    • Для окончательного удаления коммитов, нужно убедиться, что они не в логе.
    • Для этого можно использовать команду "git reflog" с флагом "--prune=all".

  • @EvilYou
    @EvilYou Рік тому

    Команда git fsck --unreachable Выражает эмоции разработчика, который потерял коммит :)
    git reflog expire expire=now --all У меня не работает (если указывать --all). Git выдает ошибку - error: expire=now points nowhere!