ノードスクリプトを使用して分岐をメインブランチにプログラムでマージしようとしています。最初に試したのはExecute a command line binary with Node.jsで、これは端末コマンドを実行するのに有効でした。しかし、私は作業ディレクトリを変更するのに苦労しました。私は作業ディレクトリをgitリポジトリに変更し、そこからgitコマンドを実行したいと思っていました。 cd ~/repo
またはcd /home/me/repo
を実行しても、作業ディレクトリはまったく変更されず、cd
を使用する以外は変更できませんでした。標準ターミナルコマンドを使用してノードからgitコマンドを実行する方法
次に、スクリプトのディレクトリからgitコマンドを実行しようとしましたが、私のrepoを指していました。私はgit --git-dir
とgit --work-tree
を試しましたが、それらのコマンドのどちらも動作しませんでした。エラーは同じです:fatal: Not a git repository (or any of the parent directories): .git
これは、スクリプトが実行されているディレクトリがgit repoではないためです。
私は、スクリプトを実行しているディレクトリ以外のディレクトリにgitコマンドを送るか、スクリプトの作業ディレクトリを変更する方法が必要です。好ましくは後者である。
> [email protected] start /home/me/CI
> babel-node index.js --presets es2015,stage-2
Executing command "cd /home/me/repo"
Executing command "pwd"
/home/me/CI
'git --git-dir =/home/me/repo/.git --work-tree =/home/me/repo merge foo'を試してください。パスで '/ home/me'を置き換えるのに'〜 'を使わないでください。 – ElpieKay
npm gitパッケージを使用するのではなく、子プロセスとしてこれをやっている理由は何ですか?それを使用すると約100万回簡単です... https://www.npmjs.com/package/nodegit – dvsoukup