2016-11-28 66 views
1

我想用我擅長的nodejs編寫git鉤子腳本。在bash的文件,我可以得到PARAMS這樣的:nodejs中的「bash讀取命令」

#!/bin/bash read local_ref local_sha remote_ref remote_sha

是否有任何的NodeJS相同的命令?

#!/usr/bin/env node "bash read function in nodejs"

+0

爲 「用戶的NodeJS輸入」 搜索返回許多選項 –

+0

@Adil我試過了,但得到的則params的空值。 – Allen

+0

沒有通過git的正確路徑 – Adiii

回答

2

這裏有一些模塊,幫助ü寫命令

節點-CMD

簡單的命令行/終端界面允許您運行CLI或bash風格的命令,如果你在碼頭。

shelljs

ShellJS是Node.js的API之上的便攜式(在Windows/Linux的/ OS X)執行的Unix shell命令。您可以使用它來消除您的shell腳本對Unix的依賴性,同時仍然保留其熟悉且功能強大的命令。您也可以全局安裝它,以便您可以從Node項目之外運行它 - 向那些粗糙的Bash腳本說再見!

https://www.npmjs.com/package/node-cmd

https://www.npmjs.com/package/shelljs

看看這段代碼可以幫助ü

var cmd=require('node-cmd');

cmd.get(
     git clone https://github.com/RIAEvangelist/node-cmd.git 
     cd node-cmd 
     ls 
    , 
    function(data){ 
     console.log('the node-cmd cloned dir contains these files :\n\n',data) 
    } 
); 

有這個模塊上看

// starting a new repo 
require('simple-git')() 
    .init() 
    .add('./*') 
    .commit("first commit!") 
    .addRemote('origin', 'https://github.com/user/repo.git') 
    .push('origin', 'master'); 

// push with -u 
require('simple-git')() 
    .add('./*') 
    .commit("first commit!") 
    .addRemote('origin', 'some-repo-url') 
    .push(['-u', 'origin', 'master'], function() { 
     // done. 
    }); 

https://www.npmjs.com/package/simple-git