web-dev-qa-db-ja.com

Windowsで「git bash」インストールにmanとZipを追加する方法

私は "git bash" をWindowsで使用しています。つまり、統合されたgitを介したWindowsの場合はbashです。どうやら、MINGW/MSYSの基盤を使用しているようです。 (@ VonCからの更新:今では msys2を使用msysgitは廃止されている 2015年第4四半期以降。

したがって、すでに多くのMSYSツールがインストールされています-awkからzcatまで。しかし、複数のファイルをZipファイルに圧縮するmanコマンドとZipがありません(unzipが存在します!)。

どこからインストールできますか? MINGWシステムの別のコピーをインストールしたくない! git bashインストールにいくつかのプリコンパイル済みツールを追加するだけの方法はありますか?

33
halloleo

Zipコマンドは、 GoW(Gnu On Windows) からインストールできます。 manは提供されません(大きすぎます)。

ただし、onlyがGoWからZipコマンドを追加する場合でも、GoWシステム全体はダウンロードしてインストールしました。その後、binディレクトリから他のコマンドを削除できますが、ディレクトリに必要なdllを保持してください。

21
VonC

この問題に関する私の経験を共有できてうれしいです。Groovyでプレイした最初の日から2年間は知りませんでした。私のメソッドには、Windows OSにインストールされたWindowsのgitが必要です。

これらの手順は、7zコマンドラインユーティリティをインストールするためのもので、Zipとは少し動作が異なります。

  • その公式Webサイト から7-Zipをダウンロードしてインストールします。デフォルトでは、私の場合のようにWindows 10の/c/Program Files/7-Zipディレクトリにインストールされます。
  • 管理者権限でgit Bashを実行し、/c/Program Files/Git/mingw64/binディレクトリに移動します。ln -s "/c/Program Files/7-Zip/7z.exe" 7z.exeコマンドを実行できます

私はそれがあなたを大いに助けると確信しています。私を信じて!

12
Tung

git-archive 、インストールなしで準備され、Zipアーカイブを作成できます。

mkdir workrepo
cd workrepo
git init
cp -r [target_file_or_dir] .
git add .
git commit -m commit
git archive -o ../myarchive.Zip @
cd ..
rm -rf workrepo

次のスクリプトが使用可能です:Zip.sh foo.Zip target_file_or_dir

#!/usr/bin/bash

set -eu

unset workdir
onexit() {
  if [ -n ${workdir-} ]; then
    rm -rf "$workdir"
  fi
}
trap onexit EXIT

workdir=$(mktemp --tmpdir -d gitzip.XXXXXX)


cp -r "$2" "$workdir"

pushd "$workdir"
git init
git add .
git commit -m "commit for Zip"
popd

git archive --format=Zip -o "$1" --remote="$workdir" HEAD
8
yukihane

7-Zipをgitbashに追加するのは簡単です。

  1. Windowsに7-Zipをインストールします。
  2. 7-Zipフォルダー(C:\Program Files\7-Zip)をPATHに追加します
    gitbash exp:export PATH=$PATH:"C:\Program Files\7-Zip"一時的
    Windowsでは、以下の画像のようなPATHを追加します(恒久的

enter image description here

  1. 7z.exeのコピーをZip.exeに複製する
  2. 再度gitbashを開きます。できました!

ステップ3をスキップしても、Zipの代わりに7zとしてZipコマンドを呼び出すことができます

私はちょうどそれを機能させました!私のラップトップで。

結論:GitbashはWindows Pathをベースに実行しています。WindowsPATHに追加したコマンドを実行できると思います。
ちなみに、これを試す場合は、結果のフィードバックを忘れないでください。

8
nokieng

_man <command>_を_<command> --help | less_にマッピングすることにより、シェルでの人間の行動の小さなサブセットを模倣できます。

残念ながら、私のマシンでは、bashエイリアスは位置引数にフラグを追加しません。コマンドとしてフラグを実行しようとして失敗します(_alias man="$1 --help"_は機能しません)。

そして、man()と呼ばれる関数は許可されていません!

幸いなことに、bash関数とエイリアスの組み合わせでこのマッピングを実現できます。以下のコードを〜/ .bashrcに入れます(ない場合は作成します)。 _source ~/.bashrc_を忘れないでください。

_# man command workaround: alias can't pass flags, but can't name function man
m() {
    "$1" --help | less
}
alias man="m"
_

完全なmanページを入手することはできませんが、探しているのがコマンドとそのフラグに関する基本的な情報だけである場合は、これで十分です。

5
Dylan Kirkby

個別のGNUツールを http://gnuwin32.sourceforge.net/packages.html からインストールできます(Zipなど)。

次に、スタートアップスクリプトのPATH"/c/Program Files (x86)/GnuWin32/bin"を追加します.profile.bash_profile.bashrcなど.

3
wisbucky

もう1つ、わずかに異なる、Windowsでのgit bashのZipのインストール手順を示します。

  1. https://sourceforge.net/projects/gnuwin32/files/Zip/3.0/ に移動します
  2. ダウンロードZip-3.0-bin.Zip
  3. Zipファイルのbinフォルダーで、ファイルZip.exe
  4. ファイル「Zip.exe」を「mingw64」binフォルダーに解凍します(私にとってはC:\Program Files\Git\mingw64\bin
  5. https://sourceforge.net/projects/gnuwin32/files/bzip2/1.0.5/ に移動します
  6. ダウンロードbzip2-1.0.5-bin.Zip
  7. Zipファイルのbinフォルダーで、ファイルbzip2.dll
  8. 抽出bzip2.dllを「mingw64」のbinフォルダー(同じフォルダー-C:\Program Files\Git\mingw64\bin
2
NSjonas

ここにあなたが従うことができるステップがあります。

  1. 次のリンクに移動します https://sourceforge.net/projects/gnuwin32/files/

  2. 不足しているコマンドを見つけます。ZipコマンドにはZipとbzip2が必要です。 Zipコマンドはbzip2.dllに依存して実行されるためです。そうしないと、「共有ライブラリのロード中にエラーが発生しました:?:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません」というエラーが表示されます。

  3. ダウンロードしたファイルを解凍するここでは、binフォルダーにある「Zip.exe」の「Zip-3.0-bin.Zip」と「bzip2.dll」の「bzip2-1.0.5-bin.Zip」をダウンロードしています。 /bin/.exe

  4. コマンドexeファイルをgit-bashフォルダーにコピーするここでは、「Zip.exe」と「bzip2.dll」を\ Git\usr\binにコピーしています。

参照リンク https://ranxing.wordpress.com/2016/12/13/add-Zip-into-git-bash-on-windows/

0
sagekoda

Zipに関しては、次のPerlスクリプトを使用してファイルをパックできます。

#!/usr/bin/Perl
use IO::Compress::Zip qw(:all);
$z = shift;
Zip [ @ARGV ] => $z or die "Cannot create Zip file: $ZipError\n";

実行可能にする場合は、Zipという名前を付けて、$PATH、次のように実行できます。

Zip archive.Zipfiles...

ただし、ディレクトリでは機能しません。 Perlとすべての必要なモジュールはGit for Windowsインストールに既に存在するため、何もインストールする必要はありません。

manに関して、少なくともgitについては、次のように呼び出されるドキュメントがあります。

git option --help

デフォルトのブラウザで開きます。

0
mik

CygWinもインストールする場合は、GitBashパスにCygWinパスを追加できます。Zipがあれば、機能します。例えば追加

PATH=$PATH:/c/cygwin/bin
export PATH

あなたの.bashrc;注:最初にではなく、示されているようにパスのendに配置します。

CygWinにはUIベースのインストーラーがあるため、Zipやmanなどのアプリケーションを簡単に追加または削除できます。

あなたは言って、それぞれのウィンドウのパスを把握することができます

`cygpath -w /bin`

それぞれのシェルで。

0