Git Bashの正確な意味は何ですか?


94

Git Bash

私は過去2日間GitBashを使用しています。私は今のような基本的な操作を知っているcommitpushpullfetch、とmerge。しかし、Git Bash自体が実際に何であるかはまだわかりません!

私はGitBashについてたくさん検索しましたが、私が見たすべてのサイトはそのコマンドの機能に焦点を合わせています。私はまだ私の質問に対する良い答えを見つけていません。今、私はこの答えを得るのに適切な場所にいると思います!



「Gitbash」のようなものはありません。「bash」と「git」があります。Bashはインタラクティブなコマンドラインインタープリターであり、歴史的な理由から単に「sh」または「shell」と呼ばれることもあり、Microsoftの「cmd」に類似しています。そこのgitのサーバーへの匿名アクセスのパワーを制限するために使用される「ロックダウン」コマンドインタプリタで、gitのディストリビューションの一部である「gitのシェル」は、しかし、。gitはUNIXライクなシステムで開発されたため、理論的にはシェルに依存しませんが、「bash」CLIと組み合わせるのが最適です。
Hatebit

回答:


78

git bashは、次のようなシェルです。

  • 実行中のプロセスはsh.exemsysgitにパッケージ化されていますshare/WinGit/Git Bash.vbs
  • gitは既知のコマンドです
  • $HOME 定義されています

msysGitポータブルの$HOME場所の修正」を参照してください。

Windows 64の場合:

C:\Windows\SysWOW64\cmd.exe /c ""C:\Prog\Git\1.7.1\bin\sh.exe" --login -i"

これはgit-cmd.bat、プレーンなDOSコマンドプロンプトでgitコマンドを提供するとは異なります。

GitHub for Windows(G4W)のようなツールは、git用のさまざまなシェルを提供します( PowerShellのものを含む)


2015年4月の更新

注:msysgit / Git for Windows1.9.5のgitbashは古いものです:

GNU bash, version 3.1.20(4)-release (i686-pc-msys)
Copyright (C) 2005 Free Software Foundation, Inc.

しかし、msysgit(2015年第4四半期)と新しいGit For Windows(2015年第2四半期)の段階的廃止により、Git for Windows2.3.5ができました。ネイティブWindowsソフトウェアとの相互運用性を向上させることを目的とした、最新のCygwin(POSIX互換性レイヤー)とMinGW-w64に基づくMSYSの独立した書き直しである64ビットmsys2プロジェクトに
基づくはるかに最近のbashがあります。独自のインストーラーも付属しています。msys2

git bashは(新しいGit For Windowsで)次のようになりました。

GNU bash, version 4.3.33(3)-release (x86_64-pc-msys)
Copyright (C) 2013 Free Software Foundation, Inc.

元の回答(2013年6月)より正確には、msygit wikiから:

歴史的に、Git on Windowsは、Cygwinを使用してのみ公式にサポートされていました。
ネイティブのWindowsバージョンを作成するために、このプロジェクトはmingwフォークに基づいて開始されました

プロジェクト名の乳白色の「スープ」をより明確にするために、次のように言います。

  • msysGit-このプロジェクトの名前です。GitforWindowsのビルド環境であり、公式のバイナリをリリースします。
  • MinGW-ネイティブMicrosoftWindowsアプリケーション用の最小限の開発環境です。
    これは、実際にはMicrosoftランタイム上の非常に薄いコンパイル時レイヤーです。したがって、MinGWプログラムは実際のWindowsプログラムであり、Unixスタイルのパスやfork()呼び出しなどのPOSIXの優れた機能の概念はありません。
  • MSYS -Bourne Shellコマンドラインインタープリターシステムであり、MinGW(およびその他)によって使用され、過去にCygwinからフォークされました
  • Cygwinの- Windows用のGitを構築するために、過去に使用された環境、などのLinuxは、今日ではmsysGitとは関係ありません

したがって、「gitbash」に関する2行の説明は次のとおりです。

Git bash」は「GitforWindows」に含まれるmsysシェルであり、Cygwinのスリム化バージョン(当時の古いバージョン)であり、bashを実行するのに十分なPOSIXレイヤーを提供することを唯一の目的としています。


リマインダー:

msysGitは、Git forWindowsをコンパイルするための開発環境です。msysGitをインストールするだけで、Gitをビルドできるという意味で、これで完了です。サードパーティのソフトウェアをインストールせずに。

msysGitはGitforWindowsではありません。それはGitをインストールするインストーラーです-そしてGitだけです。

詳細については、「msysgitとCygwin + gitの違い?」を参照してください。


2
それについての意味を知りたい!
DRAJI 2013

@DRAJI私の答えがあなたが知りたいことをカバーしていなかったということですか?
vonC 2013

@DRAJI「git bash」について知りたい詳細はありますか?
vonC 2013

もちろん。しかし、まず最初に、それについて2行の説明だけを知りたいのです。その後、次のステップに進みます。
DRAJI 2013

3
たとえば、UNIXBashとGitBashの違いは何ですか?
アレクサンダーミルズ

22

私がいることを考えて(あった)質問アスカーがあると思うのgit bashがようなコマンドであるgitの初期化gitのチェックアウトGit bashはコマンドではなく、インターフェースです。また、bashはunix / linuxの世界で非常に人気があるため、askerはlinuxユーザーではないと仮定します。名称「bashは」「の頭字語であるB ourne AゲインSHはエル」。Bashは、自動スクリプトの実行を可能にする機能を備えたテキストのみのコマンドインターフェイスです。良いのアナロジーは、新たにbashのを比較することであろうPowerShellのはWindows7 / 8のインターフェイス。貧しいです類推(ただし、より多くの人が理解しやすいもの)は、DOSおよび初期バージョンのWindowsの時代のコマンドプロンプトと.BAT(バッチ)コマンドファイルの組み合わせです。

参考資料:


10

Bashは、BourneShellのフリーソフトウェアの代替としてBrianFoxによって27年以上前に作成されたコマンドラインインターフェイスです。シェルは、特定の種類のコマンドラインインターフェイスです。Bashは「オープンソース」です。つまり、誰でもコードを読んで変更を提案できます。当初から、すばらしいツールにするために尽力してきたエンジニアの大規模なコミュニティによってサポートされてきました。Bashは、LinuxおよびMacのデフォルトのシェルです。これらの理由から、Bashは最も使用され広く配布されているシェルです。

Windowsには、コマンドプロンプトと呼ばれる別のコマンドラインインターフェイスがあります。これにはBashと同じ機能が多数ありますが、Bashの方がはるかに人気があります。オープンソースコミュニティとそれらが提供するツールの強さのために、Bashを習得することはコマンドプロンプトを習得するよりも優れた投資です。

WindowsコンピューターでBashを使用するには、GitBashというプログラムをダウンロードしてインストールする必要があります。Git Bash(Windows用のBash)を使用すると、Windows環境内でBashやGitと呼ばれる別のツールに簡単にアクセスできます。


1
余談ですが、現在のWindows用CLIはPowerShellです。古代のDOSベースのCMDシェルは互換性のためにまだ存在していますが、MSFTはすべての注意をPSに集中させています。Unixベースのシェル(bash、sh、csh、ksh、zshなど)のパイプ指向の機能を利用して、テキストだけでなくオブジェクトを渡すことができるように拡張するのは、本当に素晴らしいことです。
ピーターハルバーソン

3

中核となるGitは、Unixスタイルのコマンドライン環境で実行するように設計されたコマンドラインユーティリティプログラムのセットです。LinuxやmacOSなどの最新のオペレーティングシステムには、どちらも組み込みのUnixコマンドライン端末が含まれています。これにより、Gitを使用する場合、LinuxとmacOSの補完的なオペレーティングシステムになります。Microsoft Windowsは、代わりに、Unix以外のターミナル環境であるWindowsコマンドプロンプトを使用します。

Git Bashとは何ですか?

Git Bashは、Gitコマンドラインエクスペリエンス用のエミュレーションレイヤーを提供するMicrosoftWindows環境用のアプリケーションです。BashはBourneAgainShellの頭字語です。シェルは、記述されたコマンドを介してオペレーティングシステムとインターフェイスするために使用されるターミナルアプリケーションです。Bashは、LinuxおよびmacOSで人気のあるデフォルトのシェルです。Git Bashは、WindowsオペレーティングシステムにBash、いくつかの一般的なbashユーティリティ、およびGitをインストールするパッケージです。

ソース:https//www.atlassian.com/git/tutorials/git-bash


2
「Gitは、Unixスタイルのコマンドライン環境で実行するように設計されたコマンドラインユーティリティプログラムのセットです」... GitがLinusTorvaldsen.wikipedia.org/wiki/Linus_Torvalds)によって作成されたことを考えると、当然のことです。)
VonC
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.