Всем git хорошо, но некоторые вещи, которые мне бы хотелось там увидеть, не всегда очивидны. Вот ведете вы какой-то проект, делаете коммиты и так далее. И в какой-то момент, вам нужно посмотреть на проект в момент осуществления какого-то коммита. Желательно, чтобы вы смогли выгрузить данную прошлую версию проекта куда-нибудь в другое место, а не в основную ветку.
Оказывается, что есть команда, которая именно это и делает!
1 |
git worktree add ../[NewFolder] [commit] |
Как я ею пользуюсь.
Открываю консоль нужного репозитория в GitHub Desktop.
После этого нахожу в истории нужный коммит и копирую его SHA:
Создаю в папке, где все репозитории находятся, папку с именем [Имя репозитория]_commit.
И в консоле вызываю подобную команду:
1 |
git worktree add ../Harrix-HTML-Template-For-Harrix-Sites_commit c7b6dc7ca788dcf1ba3bb3e20b9166143c0d9010 |
Всё. Теперь в папке Harrix-HTML-Template-For-Harrix-Sites_commit находится образ проекта в момент конкретного коммита. При этом основная папка с проектом нетронута. Очень удобно.
Когда мне этот кусок будет не нужен, то папку можно очистить, а а папке .git основной ветки удалить папку worktrees.