Gitとは何ですか？


「Git」とは何なのでしょうか？インターネットでは、ソースコード等の分散型バージョン管理システムとだけ説明されていることが多いですが、具体的な使用例を教えて頂きたいです。

①バージョン管理でしか、普通は使わないものですか？

②「Git」を使うには何か登録が必要なのでしょうか？また、登録情報を忘れてしまったらどうすればいいのでしょうか？

③「GitHub」「GitLab」と何か関係があるのでしょうか？

④Eclipseに標準装備されている「Git」(パースペクティブのところ)と、単体インストールする「Git」は何か違うのでしょうか？

⑤個人的な妄想？ですが、Gitリポジトリというところから何らかのソースコード？や必要なものを取ってきてコーディングに使うみたいな、ライブラリ的な機能があったりするのでしょうか？




Git
はバージョン管理のためのソフトウェアです。特に多人数でもひとつのソフトウェアを開発できるように設計されています。使い方としては、開発者個々人のローカルな環境にそれぞれソースコードを保存しつつ、互いのソースコードを比較・統合していくことで次のバージョンを作っていくという形式です。

Git
を使ったソフトウェア開発の典型的なやり方では、ソースコードが置かれているあるひとつのサーバーをメインのサーバーとして、そこに最終的な変更を集積するのが簡単です。更に、メインサーバーでの
Git による管理の様子は GUI
で綺麗に見えた方が便利です。そこでそのような、ソースコードを置くサーバーとなりつつ管理の様子を表示するサービスとして、GitHub や
GitLab、Bitbucket などが存在します。更にこれらは Git の機能を GUI で補助するだけでなく、ソフトウェアの問題を管理する issue
トラッカーの機能など追加の機能がついていたりします。

純粋に Git のみを使う際、何らか第三者のサービスにユーザー登録する必要はありません。ただし、自分のコンピュータにインストールされた Git
に自分のユーザー名とメールアドレスを教えてあげないといけません。登録したユーザー名とメールアドレスは、自分がソースコードに与えた変更の作者名として使われます。なお、上述の
GitHub などのサービスを利用するにはそれらへのユーザー登録が必要です。

Eclipse にも [Egit というプラグインが搭載されており](https://git-
scm.com/book/ja/v2/Appendix-A%3A-%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E7%92%B0%E5%A2%83%E3%81%A7%E3%81%AEGit-
Eclipse%E3%81%A7Git%E3%82%92%E4%BD%BF%E3%81%86)、これができること自体は Git と殆ど変わりません。純粋な
Git 自体は CLI なので、インターフェースは異なります。

Git リポジトリからソースコードを取ってくるというのはおそらく `git clone` や `git pull`
というコマンドの動作に相当するものを想像なさっているのだと思います。しかしこの回答でこれらを説明すると長くなってしまいます。そこでまずは Git
が具体的にはどのようなソフトウェアなのかを知るのが良いでしょう。具体的には[『Pro Git』日本語版](https://git-
scm.com/book/ja/v2)や[『サルでもわかるGit入門』](https://backlog.com/ja/git-
tutorial/)などのチュートリアルを読んでください。

