初心者が初心者にざっくり教えるGit,Githubの概要

こんにちは、kisseです。

大学でプロジェクト形式でソフトウェアを作成するという授業があるのですが、結構ガチでコード書かなきゃならん感じで大変なのです。
なので、一緒のチームの人にGithubを使うことを許可してもらうために資料を作成し、簡単なプレゼン(笑)を行いました。

私もGit,Githubは詳しくないので、その視点を生かして「初心者が初心者にざっくり教えるGit,Githubの入門」ということで作成したスライドを元に、このブログでも書いていこうと思います。
(詳しい方からしてみると、「それは違う」という箇所があると思います。しかし「ざっくり」というのが本記事のコンセプトですのでご了承ください。)

対象読者

本記事は以下のような人を対象にしています。

  • Githubよく聞くけど自分で使ったことない人
  • 他のサイトが詳しすぎてついて行けなかった人
  • GitとかGithubとかとりあえずノリで使えるようになってみたい人

上記のような、とりあえず使えるようになるまでの情報が欲しい人向けの記事にしてみました。
(つまり僕が欲しかった情報になります。笑)



そもそもGitって?

(注意!Gitよくわからないって人以外は飛ばしてください。かなりざっくりです。)
Gitとは、ソースコードをはじめとしたファイルの変更履歴を保存・管理する、バージョン管理ツールです。
Gitを使ってソースコードを管理すると、「ファイルがいつどのように書き換えられたを保存する」ことができるようになります。

では、なぜ変更履歴を保存することができると良いのでしょうか?


例えば、今日コードを書いていたらバグが発生してしまった場合を想定しましょう。
あなたはデバック操作に入りますが、今日書き足した箇所が多すぎてバグの発生源を特定できません。
あなたはデバック作業が困難であると判断してソースコードを、ちゃんと動作していた今日の朝の状態に戻したいと思いました。

普通にファイルを管理していた場合、ファイルを上書きしてしまったら元のファイルの状態は失われてしまいます。
しかし、Gitでソースコードを管理していた場合、現在までの変更が記録されています。
なので、過去のある点までソースコードの状態を戻すことができます。

これってすごく便利で、サーバー内のファイル編集とかしてるときに「あ、ミスった」ってなった場合でもとりあえず戻せばなんとかなるんで(?)、多くの方が作業前にバックアップをとるかGitで管理しているそうです。

私個人でも、重要度の高いプログラムを作成するとき(課題かつコード量が多くなると予想されるとき)などに使ってたりしますねー。

じゃあGithubって?

名前が似てるので混乱しますが、以降Githubの説明です。

Gitは自分のPC上で、ファイルの差分を管理するツールです。
しかし、複数人での開発ではコードの共有などが必要になりますよね。
でも一般的なクラウドサービスではGitで、変更を記録することができません。

そこでGithubの登場です。
Githubとはweb上でGitを用いたファイル管理を行うことができるサービスです。
これを導入すると、Gitでファイルを共有しながらそのファイルをGitで管理することができるようになります。

さて、こんなことはないでしょうか。

ファイル共有サービスを使って複数人で、コードを書いてました。
ある時Aさんがファイルをダウンロードして、作業を始めました。
そんなことは知らないBさんも同じファイルをダウンロードして、作業を始めました。
Aさんは作業を終えてファイルをアップ、Bさんもその直後に同様にアップしました。
次の日、Aさんがファイルを確認しようとすると、「え、昨日書いたコードが消えてる…」
普通のファイル共有サービスを利用していると...

悲劇ですね。
しかし、Githubを用いてファイル共有を行えば、変更記録のみが更新されるので、そんな悲劇は起こりません。
(同じファイルの同じ箇所を編集した場合にはちょっと困ることが起こったりしますがそんなことが起こることもあんまないですし、同じファイルを同時に編集できるだけでも超便利です)

このように、複数人でコードの管理ができるようになるので、いろんな会社でGithubは導入されています。
僕がバイトしてる会社もGithubでコード管理してますね。



まとめ

ファイルの変更履歴を記録・管理するツールがGit。

web上でGitを用いたファイル管理と共有を行うことのできるサービスがGithub.

この2点だけ覚えればとりあえず十分です。
今度、「初心者が初心者にざっくり教えるGitの使い方」書きますね。笑

最後まで読んでいただきありがとうございます。

初心者用かは怪しいですが、これあればGit,Github使えるよって本紹介しときますね。

GitHub実践入門

あわせて読みたい