web-dev-qa-db-ja.com

スクリプトを使用して特定の作業ディレクトリでGit Bashウィンドウを起動するにはどうすればよいですか?

スクリプト(BashまたはWindowsバッチ)を使用して、指定された作業ディレクトリで新しいGit Bashウィンドウを起動するにはどうすればよいですか?

私の目標は、それぞれ異なる作業ディレクトリに設定された単一のスクリプトから複数のGit Bashウィンドウを起動することです。このようにして、Git Bashウィンドウを開いて各ウィンドウを正しい作業ディレクトリに移動する代わりに、コンピューターを起動した後すぐに作業を開始できます。

この質問 のようにデフォルトの作業ディレクトリを変更する方法を尋ねるのではなく、スクリプトから異なる作業ディレクトリで1つ以上のターミナルウィンドウを起動します。

66
holocronweaver

Git Bashは、その端末にcmd.exeを使用し、さらにsh.exeの一種であるcmd.exeラッパーによって提供されるMSYS/MinGWからの拡張を使用します。 Windowsでは、startコマンドを使用して新しいターミナルを起動します。

したがって、特定の作業ディレクトリで新しいGit Bashターミナルを起動するシェルスクリプトは次のとおりです。

(cd C:/path/to/dir1 && start sh --login) &
(cd D:/path/to/dir2 && start sh --login) &

同等のWindowsバッチスクリプトは次のとおりです。

C:
cd \path\to\dir1
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login 
D:
cd \path\to\dir2
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login 

スタートメニューから起動したGit Bashと同じフォントとウィンドウサイズを取得するには、スタートメニューのショートカット設定をコマンドコンソールのデフォルトにコピーするのが最も簡単です(デフォルトを変更するには、cmd.exeを開き、上部を左クリックします左のアイコン、[デフォルト]を選択します)。

44
holocronweaver

別のオプションは、次のプロパティでショートカットを作成することです。

enter image description here

Targetは次のとおりです。

"%SYSTEMDRIVE%\ Program Files(x86)\ Git\bin\sh.exe" --login

Start inは、Git Bashプロンプトを起動するフォルダーです。

48
Drew Noakes

--cd =オプションを試してください。 GIT BashがC:\ Program Files\Gitにあると仮定すると、次のようになります。

"C:\Program Files\Git\git-bash.exe" --cd="e:\SomeFolder"

レジストリキー内で使用する場合、%1でフォルダーパラメーターを提供できます。

"C:\Program Files\Git\git-bash.exe" --cd="%1"

39
Mike Kowalski

@Drew Noakesからの回答をさらに追加しましょう。

ターゲット:

"C:\Program Files\Git\git-bash.exe" --cd=C:\GitRepo

cd paramは、作業ディレクトリを指定するオプションの1つである必要があります。

また、--login paramがないことにも注意してください。代わりに、SSHキー専用の別の追加アプリを使用します。Pageant(PuTTY認証エージェント)

で開始:

C:\GitRepo

@Drew Noakesがここですぐに言及/表示したのと同じ方法で、私もそれを使用します。

ショートカットキー:

Ctrl + Alt + B

このようなショートカットは、Windowsのもう1つのあまり知られていない機能です。ただし、制限があります。ショートカットを有効にするには、ユーザーのサブディレクトリのどこかにショートカットを配置する必要があります。デスクトップは正常です。

表示したくないが、まだアクティブにできるようにしたい場合は、この.lnkファイルをクイック起動フォルダーに配置します。このディレクトリはそのようなショートカット用です。 (デスクトップに表示されているかどうかに関係なく) #7608#3619355

"\Application Data\Microsoft\Internet Explorer\Quick Launch\"
17
Franta

これは、Run dialog boxで直接実行できるコマンドです(ショートカットは win+R)また、.batスクリプトとして適切に保存されます:

cmd /c (start /d "/path/to/dir" bash --login) && exit
4
lengxuehx

私はGit Bashに精通していませんが、それがgit-shにあるgitシェル(/path/to/my/gitshellなど)であり、お気に入りの端末プログラムが「myterm」と呼ばれると仮定すると、次のスクリプトを作成できます。

(cd dir1; myterm -e /path/to/my/gitshell) &
(cd dir2; myterm -e /path/to/my/gitshell) &
...

実行用のパラメータ-eは、お気に入りの端末プログラムによって異なる名前が付けられる場合があることに注意してください。

3
Marcus Rickert

ウインドウズ10

これは基本的に@lengxuehxの答えですが、Win 10用に更新されており、bashのインストールがGit Bash for Windowsから gitの公式ダウンロード であると想定しています。

cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit

レジストリ設定から実行するコマンドとしてGit Bashのコンテキストメニュー項目を失った後、これを使用することになりました。あなたがそれについて興味があるなら、私はこれをしました:

  1. HKEY_CLASSES_ROOT\Directory\Background\ShellBashキーにShellという新しいキーを作成します
  2. Git-bash.exe部分を含むgit-bash.exeへのフルパスである文字列値をIcon(新しいキーではありません!)に追加します。これを引用符で囲む必要がある場合があります。
  3. Bashのデフォルト値を、コンテキストメニューで使用するテキストに編集します enter image description here
  4. Bashというサブキーをcommandという名前で追加します
  5. commandのデフォルト値をcmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exitに変更します enter image description here

その後、レジストリを閉じて、実際のディレクトリである任意の場所からGit Bashの使用を開始できるはずです。たとえば、This PCは実際のディレクトリではありません。

enter image description here

2

さらに、Win10では、フォルダーを右クリックしてここでGitBashを選択することにより、作業ディレクトリからgit bashを開くオプションが提供されます。

enter image description here

2
monkrus