Обновить файлы в релизной папке

Задача: обновить файлы в релизной папке.

Допустим, у меня есть рабочая папка с репозиторием c:\PKM74dev76 Надо взять файлы изменённые в конкретном коммите и перенести в папку c:\PKM74

Если надо получить список измененных файлов:

git diff-tree --no-commit-id --name-only -r <commit-ish>

Что бы получить список всех файлов в коммите:

git ls-tree --name-only -r <commit-ish>

Или что бы получить список файлов между коммитами

git diff --name-only <start-commit-ish>..<end-commit-ish>

Я использую в качестве консоли ConEmu. В последнем варианте что бы выйти из просмотра логов git log: Ввести Q и нажать Enter

Копируем из консоли список путей и сохраняем в файл.

Создаём батник

@echo off

set sourcedir=c:\PKM74_dev_76
set destdir=c:\PKM74

for /F "tokens=1*" %%i in (c:\PKM74_dev_76\Tools\c2d025b.txt) do (
echo F | xcopy "%sourcedir%\%%i" "%destdir%\%%i" /y /q /f
)

Дальше запускаем и файлы копируются.

Возможно, что правильнее использовать ROBOCOPY с файлом настройки «RoboCopy Job» почитать здесь


Комментарии

Популярные сообщения из этого блога

SQLAlchemy: Подключение к уже существующим базам данных

Настройка MSSQL Server 12 Express для доступа из локальной сети к справочникам k3mebel

Отключение запроса на изменение пароля при первом подключении Ошибка 15128 ... MUST_CHANGE is ON.