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

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

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

Войти через центр авторизации
Похожие вопросы
07 июл. 2020, в 07:31
1000 руб./за проект
06 июл. 2020, в 23:49
10000 руб./за проект
06 июл. 2020, в 23:32
35000 руб./за проект