今回はGitHubを個人利用する方法について説明していきます。前々からGitHubのことは認知していたのですが、あくまでチーム開発など、複数人で利用することが利点であり、個人で使う分には特に必要ないと考えていました。つい先日Gitについて興味を持ち、書籍を購入してみたのですが、個人利用においてもかなり使い勝手が良さそうだと思ったので紹介していきます。
Gitとは?
Git(ジットもしくはギット)とは、ファイルを管理するためのツールです。
用途としては、ファイルの変更履歴を記録でき、履歴を辿って、相違点を確認したり、復元できたりする機能があります。
GitHubとは、Gitサーバーの機能を提供するサービスのことで、初心者に限って言えば、このサービスを使用することで初めてGitの恩恵が受けられます。
ファイル管理のためのツール
Gitを簡単に説明すると、「さまざまな案件のファイルを、まとめて管理できるツール」になります。Gitの構成を下図で説明します。
大まかに説明すると、以下の二つで説明ができます。
・fileを管理する領域:レポジトリ
・ファイルを受け取るために必要なソフト:Gitクライアントソフト
ざっくりとした構成ですが、レポジトリと呼ばれるファイルの溜まり場があり、
それらのファイルをGitクライアントソフトを介して編集できる形になります。
なので、Gitを使うにはGitクライアントソフトが必要になってきます。
ちなみに、代表的なクライアントソフトは、GitHub Desktop, Sourcetree, Gui GUIです。
調べた限り基本的な機能は変わらないので、日本で最も使用されているGitHub Desktopで問題ないかと思います。
使用するための必要最低限の知識
ひとりGitをする上でリポジトリの構成を覚えておきましょう。
リポジトリはは、Gitが扱うファイルの格納場所です。ファイルの変更履歴が都度保管されます。
リポジトリは下図のように「ブランチ」、「ステージングエリア」の2つで構成され、Gitクライアントとのやりとりは「ファイル群」で行われます。以下に「ブランチ」と「ステージングエリア」について詳細を説明します。
ブランチ
履歴を管理する機能があります。基本的には1つのリポジトリには1つ以上のブランチから構成されています。(一つは必ずMasterという名前で規定されます。)ブランチを複数に分ける用途としては、ソフトウェア開発におけるテスト環境と本番環境を分ける場合などです。
また、前述した通りファイルの更新履歴をどんどん貯めていき、現在対象としている履歴をHeadと呼びます。
ステージングエリア
ステージングエリアでは、リポジトリにファイルを保存する際に一時的に仮起きする場所です。
リポジトリに保存したくない内容などを取捨選択できます。
リポジトリに保存する際は、ステージングエリアで保存したい変更内容をチェックして、コミットします。コミットはただボタンを押すだけなのでさほど難しいことはありません。
コミットする際はコメントを書くことができるため、履歴を辿る際にわかりやすくするためにも変更内容などを記載すると良いでしょう。
(おさらい)Git の素晴らしさ
Gitはファイル管理できるものという理解はできたけど、普通のファイル管理方法と比べて何が旨味?
個人的に旨味があると思うのは
・複数人での作業が行いやすい
・タイムマシーンのような機能があること
Gitを使うことのメリットは、主に以下の2つです。
・複数人の同時作業が行いやすいこと(今回の記事とは趣旨が異なります)
・過去の履歴を遡り、復元できること。複数の変更を実施したとき、一部の変更を反映できること
今回の記事では、赤字の部分について重点的に説明をしていきます。
まず、Gitを使用する上での大前提は、「履歴を消さないで更新し続ける」ことです。
過去の編集を無かったことにする時も、基本的には履歴は消さず、残し続けます。
Gitについてある程度説明をしてきたので、PCでの環境構築をレクチャーしていきます!
Gitの環境構築
それではPCにGit環境を構築しましょう。
個人利用に限って言えば、ローカルの保存だけで済むので、そんなに複雑なことはありません!
GitHubでユーザ登録
まずはGitHubのユーザ登録をします。
GitHubのホームページから「GitHubに登録する」をクリックします。
「*」がついている部分の入力をして、流れに沿って認証等を実施します。
GitHub Desktopのインストール
次に、GitHub Desktopをインストールします。OSはWindowsでもMacでも可能です。
インストールしたら、先ほどユーザ登録したIDとパスワードを入力して、サインインしてください。
ログインに成功したら、左上の「File」タブから「Add Local Repository」を選択します。
Local Pathに、GitHubのフォルダを選択すれば先に進めるのですが、作られていない時は、「Create a repository」をクリックして、GitHubフォルダを作成します。
ここでは、任意のPathに対して、「Name」の項目にレポジトリの名前を入力します。
あとは、指定したLocal PathにGitで保存したいファイルを入れます。ここでは、jupyter notebookのファイル P&Fを入れ、いくつか編集をしてみました。
左側に、更新した履歴があります。今回はJupyter Notebookを元に、指定のフォルダのファイルを編集し、保存をしました。
まず、作成したPathにファイルを入れると、Changesのタブに、変更内容が追加されます。右側に変更内容(Diff)が表示されるのですが、何もないところからコードのファイルを挿入したため、Diffの欄にはコードが全て「+」で記載されます。これをリポジトリに保存するために、対象の変更内容にチェックをいれ、Summaryに名前を入力(今回の例ではCreate File)しCommit to mainボタンを押下し コミットします。
それではファイルの保存方法を要約します。
・パスにファイルを追加
・ファイルを編集し、保存後「Changes」で保存したい内容にチェックしてコミット
・「History」に履歴が追加される。
過去の内容を変更したい時は?
内容を更新したけど、一部の変更を無くす方法について説明します。
下図に、ファイルの更新番号を書いています。数字が小さい方が古いファイルだと思ってください。例えば、2番の更新内容を無視したい場合を考えます。前述しましたが、Gitの大前提はファイルを消去することはないので、無視する履歴を作ります。無視するためにはHistoryの対象ファイルを右クリックして「Revert changes in commit」を選択すれば、2番の更新内容を破棄した履歴が残ります。
まとめ
今回はGitを一人で使う方法について初心者向けに説明をしていきました。
Gitの導入は意外に大変で面倒だなと思うかもしれませんが、一度環境を構築しておけば、コード作成などでかなり便利になるかと思いますのでぜひ活用してみてください。
GitとかGitHubとかよく耳にするけどなんなんだろ〜?