
Github(ギットハブ)はパソコンちょっと触ると見る単語ですが、調べても説明が難しすぎると感じます。
GitとGithubの違い、Onedriveなどクラウドとの違い、何が便利なのか、実際の使い道と使い方など…
この記事では、文系の大学生にもわかるように可能な限りやさしくGithubについて説明していきます!
GitとGitHubって何?

Gitは履歴管理をするシステムの名前で、GithubはGitが作成した情報を共有できる場所の名前です。
Gitとは「特定の場所(リポジトリ)の情報を記録して、リポジトリの再現記録」を作成するシステム。
ある場所に保存された各ファイルが料理だとすると、Gitは「料理のレシピ」を.gitで保存します。
次の項目でも説明しますが「料理そのものを保存」ではなく、「あくまでレシピを保存」なのがミソ。
レシピを自分以外の人が見られる場所において、他PCからアクセス、共同編集できるのがGithub。
Git(ソフト)が作った.git(料理のレシピ)をクラウドで共有するのがGithub(レシピ共有サイト)です。
クラウドストレージと何が違うの?

Githubは履歴管理ができる、複数人で作業できる、バージョンを戻せるなどクラウドと似ています。
しかし「ファイル(料理そのもの)」と「履歴情報(料理のレシピ)」を保存する点で違いが出てきます。
まず履歴管理。いつ/どのファイルを/誰が/どこを/どうやって変えたかを秒/1行単位で全部確認可能。
次に情報が軽い。ファイルの変更部分を記録していくのでGithubの無料版で容量が十分に足ります。
最後にブランチ/マージ。後述しますが同じファイルをそれぞれ編集して後で合体したりできます。
他にもメリットはありますが、初心者はこの3つがクラウドストレージに対して優位性があるのでは?
Gitはどうやって履歴を残す?
.git/objects/
├── Blob(ファイルの中身)
├── Tree(フォルダ構成)
├── Commit(どのTreeか+誰がいつ何したか)
└── Tag(特定のCommitにラベルをつける)
少し発展編ですが、実際にGitがどのように履歴を管理しているかをGitが作成するファイルで紹介。
Git(ソフト)が作成するファイル.git(レシピ)は「〇〇.git/object/」と続きます。〇〇はファイル名。
/objectの下には「Blob/Tree/Commit/Tag」という項目があり、それぞれが以下のような役割です。
.git/objects/
├── Blob:ファイルの中身(料理の手順)
├── Tree:フォルダ構成(料理の種類)
├── Commit:変更の記録(料理の完成)
└── Tag:Commitの目印(特別なメモ)
GitとGithubがやり取りをする際は、このうちの変化があった部分のみの情報を移動させています。
よく出てくる用語をざっくり解説

ローカルリポジトリ:localは地元の意。自分のパソコン内のファイル置き場で通信環境がなくても使えます。
リモートリポジトリ:remoteは離れたの意。通信環境があればいろんなパソコンからアクセスできる置き場。
プル:リモートリポジトリからローカルリポジトリにデータを引っ張ってくること。pullは引っ張るの意。
プッシュ:ローカルリポジトリからリモートリポジトリにデータを押し上げること。pushは押すの意。
書くパソコンのGitで作った.gitファイルを、他のパソコンからアクセスできるようにGithubにアップします。
簡単に言えば、.gitファイルをアップロードするのがプッシュ、ダウンロードするのがプルに当たります。
GitHubでできること

GitHubというとチームで開発する際のイメージがありますが、個人利用でもGitHubは大いに役立ちます。
複数デバイス間での編集同期
自宅のPCで作業したコードを大学のPCや友人のPCからも編集したい場合、GitHubにあげておけば簡単です。
編集後にGitHubにプッシュして自宅PCからプルするだけで変更を反映できます。
いちいちUSBメモリでファイルを持ち運んだり、メール添付で送る必要がありません。
インターネットさえ繋がれば、どの端末からでも最新のコードにアクセスできます。
自動バックアップと履歴管理
コードの変更履歴がすべてGitHub上に残るため、万一ローカルPCが壊れたりしてもコードが失われません。
過去に遡って「昨日の時点の状態に戻したい」といったこともGitHubなら可能です。
やっぱり前の書き方に戻したいと思ったときも、履歴から以前の版を呼び出せます。
作業ログ・学習記録として
GitHubのコミットメッセージ欄に「◯月◯日 △△の機能を実装」などメモを残せば、自分の作業ログに。
見返したときに「いつ何をやったか」がわかり学習の振り返りにも便利です。日記感覚で活用する人も。
他者との共有もワンクリック
個人プロジェクトでも、あとで友人に見せたり、就活で成果物として提示したりしたいことがあります。
GitHubならリポジトリのURLを共有するだけでコード一式を相手に見てもらえます。
権限設定をすれば、共同編集者を後から追加して一緒に作業することも簡単です。
実際にGithubを使ってみよう!

今回は初心者向けにGithub Desktopを利用して、ローカルフォルダーをGitHubに同期していきます。
GitやGitHubの操作は一見難しいですが、GitHub Desktopならボタンで簡単に操作できます。
ここでは Windowsで、ローカルフォルダをGitリポジトリにしてGitHubと同期する手順を説明します。
各種インストール&登録
必要なのはGitとGithub Desktopのインストール、それからユーザー名・メール設定の設定です。
ダウンロードリンク→「Gitのダウンロード」「Github Desktopのダウンロード」
他サイトのほうが分かりやすいと思うので参考にしてください。
【初心者向け】Gitのインストール方法をわかり易く解説(画面付き)
【入門】Github Desktopとは?インストール・使い方
ローカルリポジトリを作成

GitHub Desktopを起動し、メニューまたはスタート画面から「File」>「Create a New Repository…」
表示されるウィンドウに以下を入力します:
- Name: フォルダー名(例:「MyProject」)
- Local path: そのフォルダーの保存場所
- Initialize this repository with a README: チェックしておくのがおすすめ
入力後、「Create repository」をクリックすると、ローカルリポジトリが完成します。
このファイルの中に保存したいファイルを入れていきましょう(メインは文字ファイル!)
リモートリポジトリと接続

GitHub Desktop画面上部の「Publish repository」ボタンをクリックします。
表示された画面で:
- Name: そのままでOK
- Description: 任意
- Keep this code private: 非公開にしたければチェックのままでOK
最後に「Publish Repository」ボタンをクリック。
これでGitHubとローカルがつながりました。
変更をコミットしてGitHubにプッシュ

- ローカルでファイルを編集または新規作成
- GitHub Desktopに戻り、「Changes」タブで変更を確認
- 下部のSummaryにメッセージ(例:「初回コミット」)を入力し、「Commit to main」をクリック
- 画面上部の**「Push origin」**ボタンを押すとGitHubに変更がアップされます
おわりに
調べていくうちに意外に情報があることに気づきましたが、初心者はそもそも調べ方からすらわからない…
分からない部分をChatGPTに聞きながら執筆しているため、間違っている部分があれば指摘お願いします。
Github Desktopはコマンド不要でバージョン管理やバックアップもできるので、ぜひ使ってみてください!
※良かった記事
なんかエンジニアのひとたちがよく口にしているGitとかいうやつをこっそり覚える記事
コメント