2014-12-18 26 views
5

Tôi có một vài lệnh git Tôi muốn tự động hóa trong một môi trường cửa sổ hạn chế. Tôi thấy bản thân mình chạy các lệnh tương tự này nhiều lần, thực hiện trong Git Bash.Scripting Git Commands trong 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" 

Tôi thạo với JScript, và tôi biết nó hoạt động trong cửa sổ môi trường hạn chế của tôi, vì vậy những gì tôi muốn làm là để bắt đầu một ngày của tôi bằng cách mở cửa sổ lệnh và gõ

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

và sau đó theo yêu cầu, trong suốt phần còn lại của ngày, tôi có thể làm điều đó, và cũng có thể sử dụng

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

Sau đó, tôi có thể ngồi đó vui vẻ với dấu nhắc lệnh mở nhấn mũi tên lên và chạy cả ngày miễn là tôi làm công việc của mình.

Tôi không thể cài đặt ứng dụng hoặc công cụ của bên thứ ba trên máy tính của mình, vì vậy tôi đang tìm cách sử dụng JScript bên trong tệp .wsf để thực hiện việc này. Tôi cũng muốn có thể xem các thông điệp đầu ra như tôi làm khi chạy các lệnh trong Git Bash như tôi làm bây giờ.

Cái gì như:

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

     ... 

Đây có phải là có thể, và nếu như vậy, làm thế nào? Có một giải pháp thay thế rõ ràng nào không liên quan đến việc cài đặt công cụ của bên thứ ba không?

Cảm ơn bạn

Trả lời

3

Có một lựa chọn rõ ràng là không liên quan đến một số cài đặt công cụ của bên thứ ba?

Có, git sử dụng vỏ bash mà bạn có thể sử dụng trong git alias hoặc trong tập lệnh git.

Ngay cả trên cửa sổ, bạn có thể xác định tên tệp git-xxx, với tập lệnh hệ vỏ trong đó (sẽ được giải nghĩa bash từ git).
Chữ nhật của tập lệnh đó (một lần nữa, ngay cả trên Windows) sẽ là #!/bin/bash.

Trong tập lệnh đó, bạn có thể sử dụng lệnh git và sử dụng shell parameters ($1, $2, ...).

+0

Vì vậy, một kịch bản bash là giống như một file .vbs hoặc tập tin .js chứa một kịch bản được viết VBScript hoặc JScript? Ngôn ngữ tôi viết kịch bản bash là gì? –

+1

@ o.carltonne ngôn ngữ bạn sẽ viết tập lệnh bash vào là ... bash: http: //en.wikipedia.org/wiki/Bash_% 28Unix_shell% 29. Nó được giải thích bởi unix shell được đóng gói với Git cho Windows (msysgit), và sẽ hoạt động ngay cả trên Windows. – VonC