web-dev-qa-db-ja.com

WindowsからCygwinを介してGitを実行する

私は最近、他の目的でCygwinを使い始め、すでにPCにGitをインストールしています。実行可能ファイルを実行してGitをCygwinにインストールできることは理解していますが、既にインストールされているため、CygwinにWindowsインストールのみを使用したいと思います。さまざまな方法でパスをリダイレクトする方法を研究しようとしましたが、成功しませんでしたが、誰かが私を助けることができますか?

32
jh_

cygwinまたはmsysGitまたは両方を使用するGITバージョンは? 」で述べたように、gitとmsysgitが同じコンピューター上で共存できることを確認します。

  1. Git for Windows(msysgit)は独自のシェルで実行されます( git-cmd.bat で実行、または Git Bash.vbs でbashを実行)
    2016年の更新: msysgitは廃止されました 、および新しい Git for Windowsmsys2を使用

  2. CygwinでのGitは、 パッケージのインストール の後、独自のcygwin bashシェルで実行されます。

git package selection on Cygwin

  1. 最後に、2016年第3四半期と「Windows 10周年記念アップデート」以降、 bashのGit(実際のUbuntu(!)bash )を使用できます。

http://www.omgubuntu.co.uk/wp-content/uploads/2016/08/bash-1.jpg

そこで、Sudo apt-get install git-coreを実行し、WSLコンテナの「ネイティブ」ファイルシステム(以下を参照)に存在するプロジェクトソースでgitの使用を開始できます。 /mnt/c/.../mnt/d/...ディレクトリ階層を介して、Windowsのファイルシステムをホストします。

WindowsのBashまたは[〜#〜] wsl [〜#〜](Linux用Windowsサブシステム):

  • これは軽量の仮想化コンテナです(技術的には "Drawbridge" pico-process
  • 変更されていない「ヘッドレス」Linuxディストリビューションのホスト(つまりUbuntuマイナスカーネル)、
  • 端末ベースのコマンドを実行できます( X-server forWindows がインストールされている場合はXサーバークライアントアプリも)。
  • Windowsファイルシステムへのエミュレートアクセス (パフォーマンスの低下は別として、encodingsDrvFsエミュレートファイル内のファイルに対して-システムは、nativeVolFsファイルシステム上のファイルと同じように動作しない場合があります。
54
VonC

個人的な経験から言えば、これは悪い考えです。ネイティブWindowsプログラムはCygwinパスを受け入れることができません。たとえば、Cygwinでは、コマンドを実行できます

grep -r --color foo /opt

問題なく。 Cygwinで/ルートディレクトリ を表します。ネイティブのWindowsプログラムにはこの概念はなく、この方法で呼び出されると失敗する可能性があります。他に選択の余地がない限り、CygwinとNative Windowsプログラムを混在させないでください。

持っているGitをアンインストールし、Cygwin gitパッケージをインストールして、頭痛を防ぎます。

13
Steven Penny

これは、gitインストールをWindowsパスに追加するのと同じくらい簡単ではありませんか?

例えば。 Win+R _rundll32.exe sysdm.cpl,EditEnvironmentVariables_ Edit ... PATH Mysysgitインストールパスを追加します。 ;C:\Program Files (x86)\Git\bin。 Cygwinと出来上がりを再実行します。 CygwinはWindows環境に自動的にロードされるため、Gitのネイティブインストールも自動的にロードされます。

4
Jonathan

「呼び出しパス」を変換するために、パラメーターとしてcygpathを使用して(windows-)gitを呼び出します。なぜそれが問題になるのか、私は混乱しています。

0
inselberg