2016-10-26 27 views
20

私のクロスプラットフォームアプリケーションのテストスクリプトをWindowsでも実行できるように、私はMSYS2をインストールし、テストスクリプトが依存するパッケージをインストールするためにpacmanを使用しました。msys/gitとgit-for-windows/mingw-w64-x86_64-gitの違いは何ですか?

MSYS2はgit(msys/git)のポートを提供しているので、Git for Windowsもインストールする必要はありません。しかし、MSYS2リポジトリで提供されるgitバージョンとGit for Windowsによって提供されるバージョンの違いは何ですか?

私は、これらの違いは、これまでに気づいた:gitのクローンからのPythonパッケージがインストールされてvirtualenvの上pip freezeを実行している場合

  1. MSYS/Gitは失敗しますモードを開発:

    FileNotFoundError: [WinError 3] The system cannot find the path specified: '/c/users/user/documents/project/.git\\..' 
    

    をgit-for-windows/mingw-w64-x86_64-gitは失敗しないので、パスの取り扱いに関して少なくともいくつかの違いがあります。

  2. Git for Windowsのgitkとgit guiは、そのままの状態で動作します。環境変数as described hereGIT_GUI_LIB_DIRに設定する必要はありません。

Git for Windowsのリポジトリからgitが表示されるようになりました。

P.S. Git for WindowsのgitをMSYS2にインストールするには、/etc/pacman.confabove[mingw32][mingw64]、および[msys]の項目に以下を追加します。しかし、代わりにGit for Windows SDKをインストールすることをお勧めします.Git for Windowsを含むbasically a special edition of MSYS2です。それ以外の場合は、以下の手順(以上)もdescribed hereです。この後

[git-for-windows] 
Server = https://dl.bintray.com/$repo/pacman/$arch 

[git-for-windows-mingw32] 
Server = https://dl.bintray.com/git-for-windows/pacman/i686 

(そしておそらくpacman -Sy)は、WindowsのgitのためのGitをインストールすることができます。

pacman -S mingw-w64-x86_64-git 

私はMSYS2でのWindowsのgitのためのGitをインストールしない理由はありませんと仮定?

EDIT Git for Windows(un)インストーラは、C:\ProgramData\Git\configのままです。これはgitがSSL証明書の間違った場所を指していることを示します。この問題を解決するにはC:\ProgramData\Git\configを削除できます。

+0

私は、例えばにMSYS2のgitのを使用してトラブルを持っていましたgitとIDE間のやりとりが間違っていたQtCreatorが、Git For Windowsはうまくいきました。それはしばらく前だった。 – rubenvb

+0

答えがMSYS2 + gitとgitとの間の違いを細かく記述できるのであれば、いいでしょう。私が見ている限り、MSYS2 + gitの利点は、MSYS2エコシステム全体(パックマンを含む)がGit for Windowsの利点は、あなたがシェルエクステンションとグラフィカルツールを入手できることです。これらの利点を組み合わせる可能性はありますか? –

+1

@FlorianKusche msys/gitとgit-for-windows/mingw-w64-x86_64-gitパッケージにはグラフィカルツール(gitkとgit gui)が含まれています。それらは、質問で言及されているように、msys/gitですぐに使用できます。 –

答えて

2

MSYS/gitのはCygwinはない方法と同様の方法でPOSIXからWindows互換(POSIXエミュレーション)(MSYS2はcygwinのから二股れる)を提供するMSYS2によって提供される動的ライブラリにリンクされ、したがって、必要実行するMSYS2環境。

のgit-ため、窓一方/mingwの-W64-x86_64版 - gitの、はるかに高速バイナリになり、ネイティブのWindowsへの翻訳を行い、コンパイル時に呼び出し、MinGWのコンパイラを、使用してコンパイルされていますエミュレーション手法と比較して、ネイティブのWindowsライブラリのみを実行する必要があります。The difference between MSYS2 and MinGWから

MSYS2バイナリのPOSIXエミュレーション層は便利ですが、コストがかかります。(そのような対応が存在する場合)通常、MSYS2プログラムは、彼らのMinGWの対応よりもnoticably遅くなります。結果として、Git for Windowsプロジェクトは、可能な限り多くのコンポーネントをMinGWバイナリとして提供しようとします。

も参照してください:How does MSYS2 differ from Cygwin?

関連する問題