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


86

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

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

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


1
@StevenVascellaro質問を編集して、これが重複ではない理由を説明しました。
holocronweaver 2018年

それは理にかなっている。重複投票を撤回しました。
Stevoisiak 2018年

回答:


62

もう1つのオプションは、次のプロパティを使用してショートカットを作成することです。

ここに画像の説明を入力してください

ターゲットは次のとおりです。

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

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


1
称賛!知っていたことはありませんStart in。プログラムは、それが中だと思っ作業ディレクトリとは何かを持っていた
CausingUnderflowsEverywhere

これが最も簡単な方法です。その後、そのショートカットをタスクバーに固定してからWindows + 1に固定し、それをタスクバーの最初の項目として保持し、git-bashでリポジトリを直接開きます。
Hareen Laks

48

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

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

(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 

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


1
これは私にとってはうまくcdいきます。GitBashを起動したいディレクトリに移動startし、例のコマンドを実行すると、そのディレクトリにGitBashターミナルが表示されます。bash rcファイルのどこかでcd $HOME(またはcd引数なしで)実行していないことを確認しますか?(同様に.bashrc.profile、...)また、心の中でドライブ文字を保ちます。あなたは上のGitのBashを起動したい場合はX:、次にやって、ドライブcd x:\pathにそれをカットされません、あなたは何をする必要がありx:、その後とcd \pathstart
ヤーノシュ

1
あなたが正しいです!私はあなたが単純にできないという事実を逃しましたcd x:\path。それに応じて私のソリューションを編集します。
holocronweaver 2013年

完璧な解決策!追加させていただきcmd.exeますが、デフォルト設定は、GitBashインストール時のデフォルトのGitBash設定と同じではありません。また、デフォルト設定(Defaultsコンテキストメニューから)と現在の設定()の違いを理解する必要がありますProperties。だから、私がしたことは:(1)Git Bashを開いて、Properties(現在の設定)を選択し、(2)正確に、私が望むもの(フォント、ウィンドウサイズ+位置)に微調整する、(3)開いてcmd.exe、選択するDefaults、(4 )GitBashからに設定をコピーして貼り付けますcmd.exe。次にOKcmd.exe'設定でCancelGit Bash'の設定で、出来上がり!
trejder 2014年

48

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


%1レジストリパラメータをどのように使用しますか?
Erasmus Cedernaes 2017

1
現在の答えはあまりにも時代遅れです、これは1つでなければなりません!
Küzdiメイト

これはバッチファイルのようです。(.bat)
Franta

26

@Drew Noakesからの回答をまだ合計しましょう:

目標:

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

cdparamが作業ディレクトリを指定する方法のオプションのいずれかでなければなりません。

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

で開始:

C:\GitRepo

@Drew Noakesがここでより早く言及/示したのと同じ可能な方法で、私もそれを使用します。

ショートカットキー:

Ctrl + Alt + B

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

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

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

12

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

ここに画像の説明を入力してください


4

ウィンドウズ10

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

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

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

  1. 呼ばれる新しいキーを作成BashshellでキーをHKEY_CLASSES_ROOT\Directory\Background\shell
  2. Icongit-bash.exe部分を含む、git-bash.exeへのフルパスである文字列値を(新しいキーではありません!)に追加します。これを引用符で囲む必要がある場合があります。
  3. のデフォルト値をBash、コンテキストメニューで使用するテキストに編集します ここに画像の説明を入力してください
  4. Bash呼び出されるにサブキーを追加しますcommand
  5. commandのデフォルト値をに変更しますcmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit ここに画像の説明を入力してください

そうすれば、レジストリを閉じて、実際のディレクトリのどこからでもGitBashの使用を開始できるはずです。たとえば、This PCは実際のディレクトリではありません。

ここに画像の説明を入力してください


3
記録のために、レジストリ内のデフォルトのgit bashエントリHKEY_CLASSES_ROOT\Directory\Background\shell\git_shell\command"C:\Program Files\Git\git-bash.exe" "--cd=%v."
Ferrybig 2017

いいね!ありがとう、@ Ferrybig!^ _ ^
kayleeFrye_onDeck 2017

4

これはRun dialog box(ショートカットはwin+ R)で直接実行できるコマンドであり、.batスクリプトとして保存してもうまく機能します。

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

1
Windows 10で新しいcmdを実行します
kyb 2016

1
@kyb /bWin 10用になっている
kayleeFrye_onDeck 2016

@kybあなたや他の誰かがまだ興味を持っている場合に備えて、lengxuehxの回答を修正した回答を作成しました:stackoverflow.com/a/39779451/3543437
kayleeFrye_onDeck 2016

3

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

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

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


ありがとう、あなたの答えは私に正しい方向に考えさせました!これが私がLinuxで行う方法ですが、MS Windowsで同等のものを理解することはできませんでした...今まで!Git Bashの場合、mytermMSYS / MinGWを介して追加されたcmd.exeです。新しいcmdを起動するには、Windows固有のstartコマンドを使用し、続いてGit Bashへのパスを使用し、sh.exe次に任意のコマンドラインオプションを使用します。私の答えは詳細を与えます。
holocronweaver 2013年

-1

私は間違った方向を与えるかもしれませんが、私はこのトリックが好きです。

Windowsエクスプローラーを使用して、任意のディレクトリをポイントし、アドレスバーに「cmd」と入力すると、そのディレクトリでWindowsコマンドプロンプトが開きます。

パスに「Git」ディレクトリがある場合も同様に、アドレスバーに「git-bash」と入力すると、そのディレクトリでGitシェルが開きます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.