web-dev-qa-db-ja.com

Git:特定のディレクトリでGit-Bashを開く

Windowsコマンドプロンプトからgit-bashをいくつかの方法で起動できます。

"C:\Program Files\Git\bin\sh.exe"
"C:\Program Files\Git\git-bash.exe"
"C:\Program Files\Git\usr\bin\mintty.exe"

そのような呼び出しを使用して、特定のディレクトリでgit-bashを起動したいと思います。


コンテキストについては、SAS拡張エディター内から実行しています。実際の呼び出しは

%sysexec(start "" "C:\Program Files\Git\bin\sh.exe" && exit);

SASに不慣れな方のために、%sysexecはWindowsコマンドプロンプトのインスタンスを開き、引数として指定されたコマンドを発行します。驚くほどうまくいきます。ただし、git-bashをホームだけでなく、特定のディレクトリで起動できるようにしたいと考えています。

このために、.bashrcにエントリを作成できます。

cd /c/new/starting/dir

ただし、これを行う際の問題は、特定のフォルダーのコンテキストメニューなどでgit-bashを開くたびに、デフォルトのディレクトリが.bashrcのディレクトリになることです。

git-bashの開始オプションが存在する--cd-to-homeまたは--cd=<path>のように見えますが、それらを機能させることができません。例えば、

"C:\Program Files\Git\bin\sh.exe" --cd-to-home
"C:\Program Files\Git\bin\sh.exe --cd-to-home"
"C:\Program Files\Git\git-bash.exe" --cd-to-home
"C:\Program Files\Git\git-bash.exe --cd-to-home"
etc.

Windowsコマンドプロンプトから特定のディレクトリでgit-bashを起動することは可能ですか?もしそうなら、適切な構文は何ですか?

[〜#〜]ボーナス[〜#〜]:50文字以下でそれを行うためのボーナスポイント

4
Lorem Ipsum

可能な解決策の1つは、git-bashを開く前にディレクトリを変更することです。デフォルトでは、git-bashは現在のディレクトリがどこにあっても開きます。これを行うには、cdの前にstart呼び出しを置きます。

cd C:\specific\dir\to\open && start "" "C:\Program Files\Git\bin\sh.exe"

これはSASで行われているため、特定のディレクトリをマクロ変数に格納できます。これにより、50文字以内の要件が保証されます(したがって、KEYSメニューのホットキーから呼び出すことができます)。コードのどこかに、Gitワーキングディレクトリを割り当てることができます。

%let gwd = C:\specific\dir\to\open;

%sysexec呼び出しは次のようになります

%sysexec(cd &gwd. && start "" "C:\Program Files\Git\bin\sh.exe" && exit);

これは次のように機能します。まず、SASは&gwdを展開します。次に、Windowsコマンドプロンプトを開きます。cdは、ディレクトリを&gwd.が解決したものに変更します。Git-bash次に、現在のディレクトリ(&gwd.に変更されました)で開きます。最後に、git-bashが閉じるたびに、exitコマンドが指定され、Windowsコマンドプロンプトセッションが閉じます。

残念ながら、最初のcdでは、呼び出しとgit-bashの開始の間に十分な遅延が生じて煩わしいようです。 git-bash内でcdコマンドを発行する方が高速かもしれませんが、このアプローチは機能します。

4
Lorem Ipsum

次のようなスクリプトを作成できます。

cd c:\path\to\particular\directory
"C:\Program Files\Git\bin\sh.exe" 

どちらかとして保存whatever.cmdまたはwhatever.batをダブルクリックします。

便宜上、以下の手順でスクリプトをタスクバーに追加できます。思ったほど簡単ではないので、これを含めます(スクリプト自体をタスクバーにドラッグすることはできません)。

  1. スクリプトを右クリックして[ショートカットを作成]を選択します
  2. 作成したショートカットを右クリックして、[プロパティ]を選択します
  3. [ショートカット]、[ターゲット]に次のように入力します:cmd /c C:\path\to\your\script\whatever.cmd
  4. cmdへのフルパスを指定する必要がある場合があります(例:C:\ Windows\System32\cmd.exe ...)

タスクバーのコマンドをクリックするだけで、ワンクリックでスクリプトを実行できます。

2
J Woodchuck