web-dev-qa-db-ja.com

Windowsでのgit bashとWSL

私は自分のウィンドウにgitをダウンロードし、git bashを含む他のいくつかのものをインストールしました。

なぜbash端末が「git」に含まれているのかは知りませんでしたが、gitの機能だけでなく、mkdir、cp、mvなどの他の機能も実際のlinux bash端末と同様にサポートしていました。

最近、Windowsでbashターミナルを使用できるようにするWSL(Linux用のWindowsサブシステム)を知りました。

Git bashは機能の面でWSLよりもかなり劣っていますか?

WSLにはない制約が含まれていますか?

7
Rhee

Git for Windowsmingw-w64 プロジェクトを使用しています(as illustrated here ) )および msys2 .
詳細については、「 msys、msys2、msysgitの相互関係 」を参照してください。

これは、実際のLinuxディストリビューションをエミュレートする [〜#〜] wsl [〜#〜] とは大きく異なります。

WSLにはない制約が含まれていますか?

Git for Windowsは [〜#〜] posix [〜#〜] 互換性レイヤー、 に基づいていますが、これには制限がありますPOSIXサポートは、Windows 8 以降廃止されました。


注:WSLは間もなく WSL2 に置き換えられます。WSL2は 本物のLinuxカーネル を使用するまったく新しいアーキテクチャを使用します。


プログラムがGit bash(WSL/WSL2 bashではなく)に依存している場合は、 Jon Skeet のように、Windows用のGitを最初にyour PATHに入れてください「 AppVEYORからの「GIT​​ BASH」の使用 」、 AppVeyor CI環境

# Make sure we get the bash that comes with git, not WSL bash
  - ps: $env:Path = "C:\Program Files\Git\bin;$env:Path"
4
VonC

Windowsツールでファイルが変更されても、WSLはファイルハンドラーをトリガーしません- https://blogs.msdn.Microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using -windows-apps-and-tools /

そのため、WSLで開発サーバーを実行することはできません。コードの変更によりWindowsエディターが開発サーバーに反映されないためです。

5
Colin Hobday