git commit and push via batch file on Windows

匿名 (未验证) 提交于 2019-12-03 08:35:02

问题:

I do same task often of committing and pushing changes to remote branch. Being lazy sometimes, I needed to put set of git commands to automatically perform these steps:

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

I also tried:

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

and

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

Everything works excpet for the final push command. Here is output:

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 . . . 

As you can see, for push, I am getting:

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. 

When I run above commands via git shell itself, everything works fine. I have also added git to Windows Path env variables.

Does anyone have an idea of why it works on git shell and not on batch command ? (even though other commands work but not push)

回答1:

For me, by default, Windows executes .sh files correctly using Git Bash. So I would write your script as a regular 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:

Try this one !!

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


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!