【初心者向け】バージョン管理ツール「Git」とは?基本コマンドを解説【まとめ】
プログラミングやWebデザインの学習を始めた方は「Git」という言葉を聞くようになったのではないでしょうか?
「Gitてよくわからない」「何のために使うの?」という意見も初心者に多いはずです。
この記事では、バージョン管理ツールである「Git」についてとそこで覚えておくべきワードや簡単な操作ができる基本コマンドを紹介しています。
またGitとGitHubの違いは?についても簡単に触れていますのでそれぞれの特徴を理解しておきましょう。
目次
Gitとは
Gitとは、プログラミングのソースコードやデザイン、文書などのファイルの変更履歴を記録しておくための分散型のバージョン管理ツールです。
元々はLinuxというサーバ用途として用いられるOSを開発する中で、バージョン管理が必要となり開発されたツールでした。
今ではデザインや文書などの管理も行えることからエンジニアに限らずWebデザイナーやWebライターなども理解しておくと重宝されるツールとなりました。
Gitを使うメリット
Gitを使うことで様々なメリットが挙げられますので、それらについて解説していきます。
- ファイルの変更履歴を保存しておける
- 複数人でファイル編集・チーム開発に有効
- 変更履歴から過去のファイルに戻すことができる
- ソースコードだけでなく、デザインや文書も管理できる
バージョン管理するメリットとしてファイルを何度も更新していく中で、過去のファイルの変更履歴を管理しておくことができます。
ファイルの変更履歴を保存しておけるので例えばエラーが表示されて修正できなくなった時にファイルを元に戻すことができます。
チーム開発を行なっている場合は、1つファイルを複数メンバーで編集・修正していくこともあるでしょう。
もしメンバーの誰かがミスをしても変更履歴を保存できていればファイルを元に戻すことができます。
つまりチーム開発を安全に・円滑に進めるためにバージョン管理ツールとしてのGitは非常に重宝されています。
GitとGitHubとの違いは?
GitとGitHubは名前は似ていますが、それらは別のものです。
GitHubとは、Gitの仕組みを利用して世界中の人がプログラミングのソースコードやデザインなどを保存・公開することができるWebサービスでソフトウェア開発のプラットフォームです。
GitHubは GitHub社によって運営されており、個人・法人問わず誰でも無料で利用できるサービスとなっています。
GitHub上に公開されているソースは無料で利用できるものと有料のものがありますが、開発したものを保存・共有できる拠点と捉えておくといいでしょう。
GitHubから様々なプログラミングのライブラリやフレームワークが公開されており、無料でダウンロードして利用することができるものもあります。
ここでは、GitHubについての詳しい解説はしませんが、GitとGitHubとの違いはつけておきましょう。
GitHubの使い方はネットで色々情報がありますので、こちらの記事を参考にしてみてください。
【GitHubとは?を知りたい方向け】
【5分でわかる】GitHubとは?概要やメリットを簡単解説!
【GitHubの登録するところから簡単な使い方を知りたい方向け】
Gitで覚えておくべきワード
ではGitを使うために覚えなければならないワードについて紹介していきます。
暗記ではなくGitを使って何ができるのかやどのような仕組みで利用するのかを理解するようにしましょう。
リポジトリ
Gitでファイルのバージョンを管理している保存先のことをリポジトリと言います。
リポジトリではバージョン管理の変更履歴が保存されています。
リポジトリに保存されている1つ1つのバージョンには、いつ、誰が、どこを、どのように変更したのか記録されます。
チームで開発の連携をするためにメモ情報を保存しておくことが可能です。
このリポジトリには2つの種類があります。
- リモートリポジトリ
- ローカルリポジトリ
リモートリポジトリとは、チームでのリポジトリ共有やバックアップを目的として作られるネットワーク先のリポジトリのことです。
ローカルリポジトリとは、自分のPC上で管理するリポジトリのことです。
ローカル環境を構築するなど、「ローカル」という言葉はWeb用語では自分のPC上の環境のことです。
コミット
ファイルやディレクトリ(フォルダのこと)の追加や変更、リポジトリ(管理している保存先)に記録するためにコミットという操作を行います。
Gitでは、1つ1つ記録したバージョンのことをコミットと言います。
またコミットを作成することを「コミットする」と言います。
それぞれのコミットには「リビジョン」と呼ばれるコミットのバージョン番号が付与され、リビジョンに「いつ、誰がコミットを行なったか」などの情報が記録されます。
ファイルやディレクトリを変更したらコミットすることによって、変更履歴を保存することができます。
コミットしておくことで元のバージョンに戻すことも、これまでコミットした時の変更履歴を遡って確認することもできます。
ワークツリー
ワークツリーとは、Gitでバージョン管理されているディレクトリ(フォルダ)内のことでこの中にファイルが保存されています。
ファイルに変更を加えると、ワークツリーにも変更が反映されます。
図で確認すると、イメージしやすいのでこちらのサイトを参考にしてみてください。
変更したファイルは直接、リポジトリにコミットされるわけでなく一旦、インデックス(またはステージングエリア)に記録されます。
ここでコミットしたいファイルを選択してからコミットしたりすることができるわけです。
Gitコマンドの基本的な使い方
Gitを操作するためにはMacでは「ターミナル」、Windowsでは「コマンドプロンプト」と呼ばれるデフォルトでインストールされているアプリケーションで操作を行っていきます。
Gitコマンドで色々な操作が可能ですが、全てのコマンドで最初に「git」を入力するということを覚えておきましょう。
ではGitコマンドを使った基本的な流れを見ていきましょう。
Gitを使う準備:リポジトリの作成
Gitで操作を行なっていくためにはリポジトリを作成する必要があります。
リポジトリを作成するためのコマンドは「$ git init」を実行します。これでリポジトリを作成することができます。
$ git init
※コマンド内に「$(ダラーマーク)」をつけていますが、入力時にはコマンドライン上に表示されています。
$(ダラーマーク)をつける必要はありません。
これから紹介していくコマンドにも「$」をつけて解説していきますが、同じように入力する必要はありません。
共有するファイルを選択
Gitの役割は、チーム開発を行うためのツールであることからファイルの共有も必要です。
ファイルを共有するためのコマンドは「$ git add ファイル名」
$ git add ファイル名
ファイル名にはindex.htmlなど変更したファイル名を入力します。
変更したファイル情報を確認する
index.htmlなどファイル内のコードを変更したら、その変更したファイル状況を確認するコマンドは「$ git status」
$ git status
このコマンドを入力するとコマンドラインに、自分の変更したファイル名を表示することができます。
ファイルで変更を行なったものが表示されるようになります。
例えばファイルを新規追加した場合には、追加したファイル名が赤色で表示されます。
コミットする
変更したファイルをコミットするコマンドは「$ git commit」です。
$ git commit
これで新しいバージョンとしてコミットすることができました。
もしコミットするときにメッセージ付きで記録して共有したい場合のコマンドは「$ git commit -m “メッセージ”」です。
$ git commit -m "メッセージ"
「”メッセージ”」の部分にはメンバーに共有しておきたい変更内容やメモを入力しておきましょう。
メッセージではメンバーにどこを変更したのかが理解できるメッセージを加えておくべきです。
例えば、タイトルのカラーを変更したのであれば、「$ git commit -m “Changes title color”」など読んだら誰でもわかるメッセージにすることを心がけましょう!
$ git commit -m "Changes title color"
コミットを確認
コミットできたらその内容が反映されているかコミットの履歴を確認しましょう。
では現在のコミットを確認するためのコマンドは「$ git log」です。
$ git log
このコマンドを実行すると、コミットリビジョン、コミットした人、コミットした日時などの情報がコマンドライン上に表示されます。
もしメッセージを追加してコミットしていれば、コミットしたメッセージもここに表示されます。
前回のコミットとの変更内容を確認
ファイルをコミットしたら前回のコミットと今回変更したコミットとの変更内容を確認することができます。そのコマンドが「$ git diff」です。
$ git diff
このコマンドを実行すると、変更した差分データがカラーで表示されます。
追加分は緑色、削除分は赤色で表示されます。
共有ファイルの置き場を作る
チーム開発を行なっている場合には、共有ファイルの置き場を作ることがあります。
Gitでは「リモート」と呼ばれる置き場をコマンドで作成することができます。
リモートにファイルをアップロードしたり、リモートからファイルをダウンロードして開発者同士がファイルを共有することができます。
リモートを登録する際にはリモート名をつける必要があり一般的には「origin」とすることが多いです。
$ git remote add リモート名(origin) URL
これでローカルリポジトリからリモートリポジトリに登録することができました。
開発者がその内容をアップロードしたり、編集したりすることができるということです。
リモートリポジトリに登録された情報を確認するためのコマンドは「$ git remote -v」です。
$ git remote -v
リモートのファイルをアップロード
リモート(共有ファイルの置き場所)を作成できたら、共有ファイルをアップロードしてみましょう。
リモートリポジトリに共有されたファイルをアップロードするためのコマンドは「$ git push origin master」です。
$ git push origin master
これでリモートリポジトリへ登録したファイルをプッシュしてアップロードすることができます。
Gitではこのアップロードのことをプッシュと言います。
リモートのファイルをダウンロード
リモートのファイルをダウンロードする方法も理解しておきましょう。
リモートリポジトリに共有されたファイルをダウンロードするためのコマンドは「$ git pull origin master」です。
$ git pull origin master
コマンドを見るとpullという文字がありますが、リモートからダウンロードすることを「プル」と言います。
ダウンロードするということはリモートリポジトリの変更をローカルリポジトリに取り込むことだと覚えておきましょう。
Gitコマンドを忘れた時
ここまで色々なコマンドを紹介してきましたが、他にも色々なコマンドがありますしコマンドを忘れてしまうこともあるでしょう。
そんな時は「$ git help」コマンドを入力することで、よく使うコマンド一覧やその詳細を確認することができます。
$ git help
Gitコマンドの全てのコマンドを確認したい場合には「$ git help -a」です。
$ git help -a
またコマンドの詳細(何が実行されるのか)を確認したいときには「$ git help 知りたいコマンド」です。
$ git help 知りたいコマンド
たとえば、git logはどんなコマンドだったか詳しく知りたいときは「$ git help log」です。
$ git help log
コマンド一覧を見て分からないコマンドがあれば、ここで色々調べてみるといいでしょう。
最後に
今回はバージョン管理ツールの「Git」についてと基本的なコマンド操作について解説してきました。
今回紹介したコマンドは基本的なもので必須のコマンドです。
初めて知るワードも多くて混乱されているかもしれませんが、使っていくうちに慣れてきます。
また記事を読んでいるだけではなかなか身につけられないのでぜひ手を動かして学習することがおすすめです。
プログラミング学習サービスとして人気のProgateにも「Git 入門」というコースが用意されています。
この記事で紹介したコマンドを使いながら実際に学習を進めることができますのでおすすめです。
ここで紹介したコマンドは基本的なものだけですが、そのほかにも色々なコマンドがあります。
必要に応じてネットで調べるとたくさんの情報がでてくるので参考にしながら使えるgitコマンドを増やしていきましょう。