2012-05-17 25 views
5

Tôi đang viết một tập lệnh PowerShell cần phải đẩy mã vào một vài kho lưu trữ git cùng một lúc?Khởi chạy quy trình không chặn từ powershell

Dưới đây là kịch bản tôi có cho đến nay:

param(
    [parameter(Mandatory=$true)] 
    [string]$repoPath, 
    [parameter(Mandatory=$true)] 
    [array]$remoteRepos 
) 

pushd $repoPath 
$remoteRepos | % { 
    #Want to exexcute this without blocking 
    & git push $_ master --fore -v 
} 
popd 

Dưới đây là làm thế nào tôi thực thi kịch bản:

gitdeploy.ps1 -repoPath c:\code\myrepo -remoteRepos repo1,repo2 

Làm thế nào để tôi thực hiện & git push $_ master --fore -v trong một cách mà là non-blocking?

SOLUTION

Nhờ @Jamey cho các giải pháp. Tôi vết thương thực hiện lệnh này:

Start-Process "cmd.exe" "/c git push $_ master --force -v" 

Trả lời

4

Bạn cũng có thể sử dụng bắt đầu quá trình chạy mỗi push trong một cửa sổ lệnh bổ sung.

start-process -FilePath "git" -ArgumentList ("push", $_, "master", "--fore", "-v") 
Các vấn đề liên quan