Подтвердить что ты не робот

Git совершить и нажать через пакетный файл в Windows

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

cd D:\wamp\www\projectName
git checkout dev
git add .
git commit -am "made changes"
git push
pause

Я также пробовал:

cd D:\wamp\www\projectName
call git checkout dev
call git add .
call git commit -am "made changes"
call git push
pause

и

cd D:\wamp\www\projectName
git.exe checkout dev
git.exe add .
git.exe commit -am "made changes"
git.exe push
pause

Все работает expet для окончательной команды push. Вот вывод:

D:\wamp\www\givingcircle>git checkout dev
Already on 'dev'
Your branch is ahead of 'origin/dev' by 1 commit.

D:\wamp\www\givingcircle>git add .

D:\wamp\www\givingcircle>git commit -am "made changes"
# On branch dev
# Your branch is ahead of 'origin/dev' by 1 commit.
#
nothing to commit, working directory clean

D:\wamp\www\givingcircle>git push
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

D:\wamp\www\givingcircle>pause
Press any key to continue . . .

Как вы можете видеть, для push я получаю:

D:\wamp\www\givingcircle>git push
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Когда я запускаю команды с помощью оболочки git, все работает нормально. Я также добавил git к переменным env для Windows Path.

Есть ли у кого-нибудь представление о том, почему он работает в оболочке git, а не в командной строке? (хотя другие команды работают, но не push)

4b9b3361

Ответ 1

Для меня по умолчанию Windows правильно выполняет .sh файлы, используя Git Bash. Поэтому я бы написал ваш script как обычный bash shell script:

#!/bin/sh
cd /d/wamp/www/projectName
git checkout dev
git add .
git commit -am "made changes"
git push
echo Press Enter...
read

Ответ 2

Попробуйте это!

cd c://TESTS/path
set HOME=%USERPROFILE%
GIT COMMAND GOES HERE
pause