VladOsadchyi
@VladOsadchyi
Студент

Как в batch узнать имя текущей ветки git и перейти на эту ветку в другой папке?

Есть несколько папок с одним и тем же проектом на php (типа поддомены). Чтобы ускорить процесс синхронизации этих папок я сделал, вот такой .bat файл, который я запускаю после git push в основной папке

@echo off
cd D:\OSPanel\domains\app-main
git pull
cd D:\OSPanel\domains\5m.app.local
git pull
cd D:\OSPanel\domains\app


Запускается он из папки D:\OSPanel\domains\app. Но так как я могу работать на разный ветках в основной папке, мне нужно, чтобы в поддоменах происходил git checkout на текущую ветку из D:\OSPanel\domains\app. Подскажите как узнать имя текущей ветки и перейти на нее?
  • Вопрос задан
  • 189 просмотров
Решения вопроса 2
saboteur_kiev
@saboteur_kiev Куратор тега Windows
software engineer
Перепишите бат на шелл - если у вас стоит git, то и git-bash стоит. На шелле это решается просто

cd DIR_MAIN
BRANCH=$(git rev-parse --abbrev-ref HEAD)

cd DIR_1
git checkout $BRANCH
git pull

cd DIR_2
git checkout $BRANCH
git pull
Ответ написан
@yellowmew
Cloud infrastructure, monitoring engineer. SRE
Аналогично предложенному Saboteur задачу можно решить и в PowerShell.
В bat:
FOR /F "tokens=* USEBACKQ" %%F IN (`command`) DO (
SET var=%%F
)
ECHO %var%
и дальше работать так же как в примере выше.
Но лучше использовать PowerShell или sh
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы