web-dev-qa-db-ja.com

Git Bashにさらにコマンドを追加する方法

私はwindowsマシンに取り組んでいます、そして私はGitに付属のbashシェルを使います。しかし、このバージョンのbashシェルには欠けている多くのユーティリティーがあります。

このシェルにもっと多くのコマンドをインストールするにはどうすればいいですか?

56
Ankit Zalani

Gitには2つのバージョンがあります - msysgit ディストリビューションまたは Cygwin です。

Cygwin用の追加ユーティリティのインストール

Cygwinインストールの一部としてGitをインストールしただけかもしれませんが(Cygwinを使用した場合)、Cygwinには setup.exe というプログラムがあり、これを使用してパッケージを追加できます。基本的に、あなたがしなければならないのはsetup.exeを実行し、Select Packagesウィンドウに入ったときにインストールしたいプログラムを選ぶだけです。ここでの紹介では、プロセスの詳細を説明した画像を使って概要を説明しています。

Cygwinのインストーラはあなたが既存のインストールを持っていることを理解するのに十分賢いです、そしてそれはあなたのインストールにパッケージを追加するでしょう(それをやっつけて最初からやり直す代わりに)。

MSYS

あなたがおそらく使用しているGitの他のバージョン(Cygwin以外の場合)はmsysgitです。 msysgitはMinGWとは実際には互換性がない最低限のUnix環境をインストールするので、あなたはmsysgitの横にMinGWスイートをインストールしなければならなくなるでしょう。 MinGW はじめに ページには、MinGWをインストールする方法についての詳細な概要が説明されています。MinGWには個人的に経験がないので、できることはあなたが彼らの指示を参照することです。

それから、あなたのmsysgitインストールをMinGWに移行しなければならないでしょう。これは次のようにすることで達成できます(ここから)。次のシーケンスが完了したら、MinGWはあなたのGitインストールを見つけるでしょう。

cd GITDIR # Where GITDIR is wherever inside Program Files you put Git
cp bin/git* /MINGW/bin # Where MINGW is wherever you put MinGW
cp -r libexec/git* /MINGW/libexec
cp -r share/git* /MINGW/share
15
new123456

最近の Git for Windows インストールでは、追加のシェルスクリプトやプログラムをインストールするのはとても簡単です。

choco install gitを実行することでgit(およびchocolateyと共にインストールされる他のすべてのツール)を更新できるため、 chocolateychoco upgrade allを使用してgitをインストールすることをお勧めします。

実行ファイルをC:\Program Files\Git\usr\bin%ProgramFiles%\Git\usr\bin)に入れるだけです。

git-fresh の例

ファイル git-freshC:\Program Files\Git\usr\binにコピーします。

adr-tools の例

  1. Zipパッケージを リリースページからダウンロードしてください
  2. パッケージを解凍する
  3. src/からC:\Program Files\Git\usr\binにすべてをコピーします
4
koppor

Msysgitを使用している場合は、単純に MinGW をインストールしてから、Gitのインストールに使用している.bashrcファイルにMINGWパスを追加します。

    PATH=$PATH:/MINGW/msys/1.0/bin

... MINGWはMinGWをインストールした場所です。

そうすれば、あなたはあなたのGit bashインストールから直接MinGWツールを使うことができます、そしてあなたが他のbashツールを必要とするならあなたはそれをMinGWにインストールすることができます。

4
Arnaldo C

あなたはここから追加のUnix単位Wget, Hugo, Xpdf, make, Nanoをダウンロードすることができます: https://Gist.github.com/evanwill/0207876c3243bbb6863e65ec5dc3f058

Wget

  • eternallybored からWindows用の最新のwgetバイナリをダウンロードしてください(これらはドキュメント付きのZipとして、あるいは単にexeとして入手可能です)。
  • Zipをダウンロードした場合は、すべて展開してください(Zipユーティリティに組み込まれたウィンドウでエラーが発生した場合は、 7-Zip を使用してください)。
  • 必要に応じて、ファイルwget64.exewget.exeに名前変更します。
  • wget.exeをあなたのGit\mingw64\bin\に移動してください。

注:Git BashでWgetを使用してWARCファイルを作成するときにいくつかのバグに気付きました。より複雑なWgetの使用については、代わりに Cygwin を検討してください。

ヒューゴ

Hugo static site generatorはバイナリとしてダウンロードすることができ、インストーラを持っていません。それをあなたのbinにドロップすると、それをあなたのGit Bashパスに簡単に追加できます。 リリースページ からWindows 64ビット版を入手してください。ダウンロードを解凍し、hugo.exeGit\mingw64\binディレクトリにコピーします。

Xpdf

Xpdf はPDFファイルを操作するための便利なユーティリティです。

  • Windows版 "Xpdf tools" をダウンロードしてください。
  • Zipを抽出します。
  • xpdf-tools-win-4.00\bin64\の内容をあなたのGit\mingw64\bin\にコピーしてください。
  • docs をチェックして、pdftotextpdftopngなどのツールを始めてください。

make

  • ezwinports にアクセスしてください。
  • make-4.1-2-without-guile-w32-bin.Zipをダウンロードしてください(guileなしでバージョンを入手)。
  • Zipを抽出します。
  • フォルダを結合しているGit\mingw64\に内容をコピーしますが、既存のファイルを上書きまたは置き換えないでください。

ナノ

2018年現在、Git Bashの最近のバージョンにはNanoが含まれているので、これは不要です。

  • Nano win32-support pageからNanoバイナリをダウンロードしてください。あなたはただ.exeファイルを必要とし、それはnano-git-0d9a7347243.exeと命名されています(これを書いている時点で)。
  • ファイルの名前をnano.exeに変更し、mingw64\binディレクトリにコピーします。
  • このバージョンのNanoはGit Bashだけでは動作しませんが、winptyを使用して呼び出すことができます(例:winpty nano test.txt)。
1
GKislin

私はrsyncのために働く、とても簡単な答えを今日見つけました。

  1. Windows用のgit bashをインストールする
  2. futureware.atからrsyncをダウンロードしてください *
  3. どこにでも抽出する、私はC:\rsync-3.1.2-2-x86_64.pkgを選ぶ
  4. システムパスの先頭にbinフォルダを追加します。

誰がfutureware.atの背後にいるのかわかりません。

0
geneorama

スクリプトを作成してgit-bashの機能の数を増やし、それらを~/.bash_profileファイルに定義して呼び出すことができます。

watchコマンドを使用したい場合は、このスクリプトを~/.bash_profileに追加することができます。

https://Gist.github.com/espaciomore/28e24ce4f91177c0964f4f67bb5c5fda

ARGS="${@}"
clear;
while(true); do
  OUTPUT=`$ARGS`
  clear
  echo -e "${OUTPUT[@]}"
done

それを関数の中にラップします。

watch() {
  ARGS="${@}"
  clear;
  while(true); do
    OUTPUT=`$ARGS`
    clear
    echo -e "${OUTPUT[@]}"
  done
}

ファイルを保存してsource ~/.bash_profileを実行するとすぐに、コマンドの出力を見ることができるはずです。

0
030

私は以下を試して、git-bashにemacsをインストールしました。1.どこかにmsys2をインストールします(同じコンピューターである必要はありません)。 2. msys2の下で、次のコマンドを実行します。

   cd /tmp
    mkdir -p var/lib
    cp -R /var/lib/pacman var/lib/
    pacman -Sr /tmp emacs
    tar zcf emacs.tar.gz usr
  1. emacs.tar.gzをgit-bashからアクセスできる場所にコピーし、次にgit-bashの下にコピーします。

    tar zxf emacs.tar.gz -C/emacs

以上で、幸運を祈ります。

最初の投稿の後、私は他のコンピュータを試しましたが、動作しませんでした。 git-bashにいくつかのdllがないことがわかりました。それから私は以下のステップできれいな仮想マシンでテストしました:

  1. msys2-x86_64-20180531Git-2.19.1-64-bit をインストールしてください。

  2. Msys2を更新し、msys64コンソールを開いて以下を実行します。

    pacman -Syyu
    

    メッセージが表示されたらmsys64コンソールを閉じてから、上記のコマンドをもう一度実行します。

  3. 前のステップとしてemacsファイルを入手してください(msys64で以下を実行してください)。

    cd /tmp
    mkdir -p var/lib
    cp -R /var/lib/pacman var/lib/
    pacman -Sr /tmp emacs
    tar zcf emacs.tar.gz usr
    mv emacs.tar.gz /c/tmp
    

    ps:私はかつて/ tmpの代わりに/ d/tmpで上記のステップを試してみましたが、それにemacsをインストールすることができませんでした。

  4. Git-bashを開き、emacsファイルを抽出します。

    cd /c/tmp
    tar zxf emacs.tar.gz -C /
    

    欠けている共有ライブラリ "?"が文句を言うでしょう今emacsを走らせようとしています。 「?」可読性を明らかにしない

  5. Msys64に戻り、msys2 dllsを入手してください。

    ls --color=never /bin/*.dll > /c/tmp/1.txt
    
  6. Git-bashでは、dllとmsysを比較してください。

    cd /c/tmp
    git init
    git add 1.txt && git commit
    ls --color=never /bin/*.dll | sed 's#\*$##g' > /c/tmp/1.txt
    git diff 1.txt | grep '^-' | sed '1d' | sed 's#^-/bin/##g' > diff_dlls.txt
    

    私の場合は、diff_dlls.txtに26個のDLLがあります。

  7. Msys64からgit-bashにdllをコピーします。

    Msys64の場合:

    mkdir /c/tmp/dlls
    cat /c/tmp/diff_dlls.txt | xargs -I {} cp /bin/{} /c/tmp/dlls
    

    Git-bashの場合:

    cp /c/tmp/dlls/* /bin
    
  8. すべて完了したので、今やemacsはgit-bashで動きます。 26のdllのうちのいくつかは必要でないかもしれませんが、私はディスクスペースの代わりに私の時間を節約することを望みます。

0
chenxin

Windows用のGit bash(MinGW64)を使用しているのであれば、rsyncを追加するのに非常に苦労しました。 dup()in/out/errが失敗しました。

代わりに、Cygwinを使用することは結局うまくいきました。

Windows用Gitbashでrysncを使用するために行った手順

  1. Windows用のgitbashをインストールする
  2. Cygwin64をインストール
  3. CygwinのパスをWindowsのパス変数に追加します。

    ウィンドウ - >システム - >詳細設定 - >環境変数

    C:\ cygwin64\bin \のパスを追加してください。

  4. Gitbashを閉じて再度開くと、gitbashはcygwin\binにrsync.exeを見つけます。
  5. Cygwin1.dll に対して互換性のないバージョンエラーが発生しました。

    ***致命的エラー - cygheapの塩基ミスマッチが検出されました

  6. 再起動することでこれを解決できると言う人もいましたが、そうではありませんでした。
  7. バージョンエラーを解決するために、私はcygwinの古いバージョンからcygwin\binディレクトリをコピーしました - バージョン1.7.30が動作しました
0
Mike

「Git for Windows SDK」をインストールします( https://gitforwindows.org/ の一番下までスクロールします。ここから、インストーラをダウンロードするためのリンクが ダウンロードされます。 https://github.com/git-for-windows/build-extra/releases/latest

https://stackoverflow.com/questions/32712133/package-management-in-git-for-windows/52105321#52105321

0
rofrol