2014-12-18 2 views
5

У меня есть несколько команд git, которые я хотел бы автоматизировать в ограничительной среде Windows. Я снова и снова запускаю эти же команды, выполняя в Git Bash.Scripting Git Commands в Windows

$ git cd "R:/my/directory/repo" 
$ git pull 
$ git checkout "MyBranch" 
$ git merge "MyOtherBranch" 

и

$ git checkout "MyBranch" 
$ git add . 
$ git commit -m "My commit comments" 

Я опытен с JScript, и я знаю, что это работает в моей ограничительной среде Windows, так что я хочу сделать, это начать свой день, открыв командную строку и набрав

cscript.exe "MyGitRefreshScript.wsf" "MyBranch" "MyOtherBranch" 

а потом по требованию, на протяжении всего дня, я могу это сделать, а также использовать

cscript.exe "MyGitCommitScript.wsf" "MyBranch" "My commit comments" 

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

Я не могу установить сторонние приложения или инструменты на своей машине, поэтому я хочу просто использовать JScript внутри .wsf-файла, чтобы выполнить это. Я также хотел бы видеть выходные сообщения, как я, когда выполняю команды в Git Bash, как и сейчас.

Что-то вроде:

<job id="main"> 
    <script language="JScript"> 
     var sh = new ActiveXObject("WScript.Shell"); 
     sh.Run(Git.exe "SomeCommand" ?); 

     //or 

     var git = new ActiveXObject("Git"); 
     git.SomeCommand ??? 

     ... 

Возможно ли это, и если да, то как? Есть ли ясная альтернатива, которая не связана с установкой сторонних инструментов?

Спасибо

ответ

3

Есть четкая альтернатива, которая не включает в себя какой-либо третьей стороной без инструментов?

Да, git использует оболочку bash, которую вы можете использовать в git alias или в скрипте git.

Даже на окнах вы можете определить имя файла git-xxx, в котором есть сценарий оболочки (который будет интерпретироваться bash из git).
Шейнг этого сценария (опять же, даже в Windows) будет #!/bin/bash.

В этом скрипте вы можете использовать команды git и использовать shell parameters ($1, $2, ...).

+0

Так Баш скрипт как файл .vbs или .js файл, содержащего сценарий, написанный VBScript или JScript? Каким языком я пишу скрипт bash? –

+1

@ o.carltonne язык, на котором вы напишете скрипт bash, есть ... bash: http: //en.wikipedia.орг/вики/Bash_% 28Unix_shell% 29. Он интерпретируется оболочкой unix, упакованной с Git для Windows (msysgit), и будет работать даже в Windows. – VonC

0

Проверьте это -

http://nixkb.org/2014/08/git-made-easy-command-line-scripts-to-manage-git-changes-from-linux/

Вот две части сценариев, которые можно запускать на любом поле Linux, где мерзавец сконфигурирован для локальных операций РЕПО.

1) Инициализировать мерзавец или вызываемого gitInit.sh

2) Объединить изменения мерзавца или вызываемого gitMerge.sh