Harrix Блог

  • Списки статей
    • Все статьи
    • IT
    • Qt
    • C++
    • Сложение двух чисел
    • Web программированиe
    • FAQ
    • Latex
    • Установка программ
    • Мифы
    • Видео
    • Про фото
  • Проекты
  • Harrix.org
  • RSS
  • Контакты

Вынесение проекта во время коммита в отдельную папку

То, чего давным давно хотел, но не знал как осуществить

01.08.2016 3 комментария 2 189 просмотров

Всем git хорошо, но некоторые вещи, которые мне бы хотелось там увидеть, не всегда очивидны. Вот ведете вы какой-то проект, делаете коммиты и так далее. И в какой-то момент, вам нужно посмотреть на проект в момент осуществления какого-то коммита. Желательно, чтобы вы смогли выгрузить данную прошлую версию проекта куда-нибудь в другое место, а не в основную ветку.

Оказывается, что есть команда, которая именно это и делает!

1
git worktree add ../[NewFolder] [commit]

Как я ею пользуюсь.

Открываю консоль нужного репозитория в GitHub Desktop.

2016-08-01_154441

После этого нахожу в истории нужный коммит и копирую его SHA:

2016-08-01_154628

Создаю в папке, где все репозитории находятся, папку с именем [Имя репозитория]_commit.

2016-08-01_154808

И в консоле вызываю подобную команду:

1
git worktree add ../Harrix-HTML-Template-For-Harrix-Sites_commit c7b6dc7ca788dcf1ba3bb3e20b9166143c0d9010

2016-08-01_155112

Всё. Теперь в папке Harrix-HTML-Template-For-Harrix-Sites_commit находится образ проекта в момент конкретного коммита. При этом основная папка с проектом нетронута. Очень удобно.

Когда мне этот кусок будет не нужен, то папку можно очистить, а а папке .git основной ветки удалить папку worktrees.


Статьи по теме:

  1. Совмещаем gh-pages с git-worktree
  2. Как скачать файлы с Github

IT Git, GitHub, Worktree

© 2014 Harrix