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. Подскажите как узнать имя текущей ветки и перейти на нее?

Всем спасибо за помощь!)
  • Вопрос задан
  • 49 просмотров
Решения вопроса 2
saboteur_kiev
@saboteur_kiev
build 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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
CV Recruitment Москва
До 180 000 руб.
Enapter Санкт-Петербург
от 120 000 до 180 000 руб.
Danfoss Москва
от 150 000 до 300 000 руб.