gitのcore.pagerを、mingwとcygwinの両方で動作させることを試みています


1

私は、git for Windowsに付属のmingw bashと私のcygwin端末で、git for Windowsが同じように動作するようにしています。

今のところ、core.pager(画面をオーバーフローさせるコマンドがページングされるかどうかを決定する)を両方で同時に処理することはできません。

私が使うなら git config --global core.pager lessそれは、mingw64ではうまく動きますが、cygwin版ではありませんが、cygwinではうまくいきません。 less パスに。 cygwinでは、私が設定しているのと同じように振る舞います。 git config --global core.pager ''

次のようにしてcygwinで動かすことができます。 git config --global core.pager more。これはmingwではうまくいきません。 more

私は明朝のコピーを作ってみた less.exe そしてそれに名前を付ける more.exeしかし、私がそれをしたとき、gitの出力からの色のすべては荒廃しました。 Gitは、さまざまなポケットベルが何を処理できるかを知るための賢いものを持っている必要があります。

今私は できた 別のものを持つことによってこれを解決する ~/.gitconfig cygwinとmingwの両方で(私は現在一方から他方へのシンボリックリンクを持っています)、しかしそれは結局それらが同期から外れるとき起こるのを待っている単なる問題です。

なぜcygwinはいないの? less と連携 git 窓用?

私が試すことができる他の回避策はありますか?


gitとbashはどちらもcygwinの一部です。すべて同じディストリビューションのユーティリティを使用することをお勧めします。
DavidPostill

理論的には@DavidPostill、 Windowsには、残念ながら、Git for Windowsを利用するIDEとツールがあります。これらはWindowsのパスを理解する必要があります。 CygwinのGitはそれらとは動作しません。それから、CygwinのGitを使ってGit for Windowsでチェックアウトしたリポジトリでプレイし始めると、パスの非互換性が問題を引き起こします。 Cygwinの下でも、Git for Windowsを使い続けるのはこのためです。 IDEとCLIの動作はすべてうまくいきます。 Cygwin環境下のGit for Windowsは、code.pagerを除いて、実際にはうまく機能します(less)。回避策として、私はいつもlessにパイプ処理します。 git log | less
Hans Deragon

@HansDeragonそれはすべて非常に良いことですが、OPはIDEや他のWindowsベースのツールについて言及しませんでした。
DavidPostill

回答:


1

Cygwinに関する問題の場合は、この解決策を使用してmissingコマンドをインストールすることができます。

https://stackoverflow.com/a/11752133/4654241

それはCygwin上でより少なくそしてより多くをあなたに提供するべきです。

Windowsのコマンドプロンプトとgit-bash.exeウィンドウの間の作業を少なくするために、 UnxUtils それを私のパスに追加します。

Windows用のgit-bash.exeで設定されたパスはGitと共にインストールされたデフォルトのパスを使用し、WindowsのコマンドプロンプトはWindowsのUnxUtilsバージョンのlessを使用します。


より良い解決策はgit bashをまったく使わないことです。 gitとbashはどちらもcygwinの一部です。すべて同じディストリビューションのユーティリティを使用することをお勧めします。
DavidPostill
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.