Git、GitHubってどのようなもの?|プログラムなどのバージョン管理に役立てよう!

Git、GitHub
この記事は約12分で読めます。

はじめに

  あなたは、プログラムなどを作成した際にどのようにバージョン管理をしていますか?

 私は、昔苦い経験があります。

 それは、保育園用栄養計算プログラム(VBA)で作成した際に、自分のPCにプログラムを毎日のように保存していたのですが、ある時最も最新と思っていたのが、バグで途中で止まってしまう状態が起きました。

 これを元の正常な状態に戻してやるのに1日以上を要した記憶があります。

 この時に、今回紹介しようと思っているGitを知っていれば、もっと楽に正常に動く状態に持って行けただろうと思います。

 また、GitHubを利用すれば、初心者がプログラムなどを始める際には他の方が書いたプログラムコードを参照できますので、大変勉強になります。

 また共同でシステムなどを開発する際にプログラムなどをお互いに共有したりするのにも大変役に立ちます。

 今回は、Git、GitHubと言うプログラムなどのバージョン管理に必須の分散管理システム及びそれをWeb上で管理、共有できるプラットホームについて紹介します。

 この記事を読むと次のことが分かります。

 OSのバージョン、機種などで説明の仕方が変わってくることがありますので、私の使用しているパソコン、ソフトのバージョンについて記しておきます。

iphoneのスマホの機種 : iphone11(iOSバージョン:15.3.1)
Gitのバージョン : 2.35.1.2

 それでは、さらに「Git、GitHub」を深堀していきたいと思います。

Gitとは?

 プログラムなどのソースコードの変更履歴を記録したり追跡したりできるフリーでオープンソースの分散型管理システムを言います。

 前述したように、自分でプログラムを管理するとなると結構ミスを起こしますし、管理も面倒です。

 つまり、プログラムなどのファイルに対して、「いつ」、「誰が」、「何を」、「どのように」変更したのかなどの変更履歴を記録したり、その差分を見れたり、元の状態に戻したりができるシステムのことです。

 このようなバージョン管理を無理なく、効率的に行えるシステムがGitと言う訳です。

 バージョン管理システムには、大きく分けて2つの方式があります。

 それぞれのメリットがありますが、 現在は分散管理方式が主流になってきています。 

 分散管理方式は、サーバーにある記録(リモートリポジトリ)を自分のPC上に全く同じものを作成(クローン)するために、何らかのトラブルでサーバーが一時的にダウンした際でも、プログラムの開発を止めることせずに進めることが可能なために、分散方式と言われる所以です。

 Gitのホームページは次の通りです。

 Gitは、Windows、MacOS、Linux/Unixで利用が可能です。

 Gitの初版は 、2005年12月21日 にリリースされ、現時点(2022年3月28日)での最新バージョンは、2.35.1(2022年1月29日リリース)となっています。

Gitの特徴

 Gitの特徴をホームページから拾ってみました。

 それでは、「Git」の特徴を以下に示します。

  • 互いに完全に独立したローカルブランチ
    この分岐モデルにより、正規バージョンと開発バージョンを並行して開発が可能であり、何時でも開発バージョンを正規バージョンに統合(マージ)が可能となります。
  • 動作が高速
    集中方式のバージョン管理システムですとサーバーに繋がなければ利用ができませんが、Gitのように分散管理システムでは自分のパソコン上にサーバーの完全なコピーを置くことが可能なため、必ずしもサーバーに繋ぐ必要がなく自分のパソコン上で動かすことができるめた高速に動作が可能となります。
  • 分散システム
    複数人でプログラムなどを開発している場合、それぞれがサーバー(リモートリポジトリ)の完全コピーをそれぞれのPCに完全コピーできるために、サーバーや誰かのPCが利用できないトラブルがあっても、利用できるPCからコピーして持ってこれる分散システムで安心して共同開発が可能となります。
  • データの保証
    Gitが使用するデータモデルは、プロジェクトのすべてのビットの暗号化の整合性を保証しています。
  • ステージングエリア
    自分のPCに記録(コミット)する前にステージングエリア又はインデックスと呼ばれる中間領域があり、そこで記録する前のプログラムの変更などを確認できます。
  • フリーでオープンソース
    Gitは、オープンソースライセンスであるGNU GeneralPublicLicenseバージョン2.0でリリースされており、誰でも無料で利用が可能です

Gitの解説本

 Gitのドキュメントには、ScottChaconとBenStraubにより書かれた「ProGit」と言う本があり、これにGitに関する詳細な解説がなされています。

 この本のダウンロードは、Gitのドキュメンテーションのページの左にある言語を「日本語」をクリックして、電子ブックのダウンロードの中から、「PDF」又は「epub」をクリックすると、選んだ形式の「ProGit」の日本語訳がダウンロードできます。 

Gitのインストール

 それでは、Gitをインストールしてみましょう。
 Git for Windowsのダウンロードサイトに移り、ダウンロードをクリックすると、あなたのOSのビット数に合ったGit for Windowsのインストーラー(Git-2.35.1.2-64-bit.exe)がパソコン上にダウンロードされます。
 

 ダウンロードされた「Git-2.35.1.2-64-bit.exe」をダブルクリックしてインストールを開始し、指示にしたがいインストールを進めます。

 「このアプリがデバイスに変更を加えることを許可しますか?」と聞いてくるので、「はい」をクリック、このアプリのライセンスに関する文書が表示されるので全体に目を通した後に「Next」をクリック、インストール先のホルダーを聞いてくるので、そのままでよいので「Next」をクリック、インストールするオプションが表示されますので、お好みによりチェックを入れ「Next」をクリック、スタートメニューの選択画面が表示されますので、デフォルトのままでよいので「Next」をクリック、あなたが利用するデフォルトのテキストエディターを聞いてくるので、何時も利用しているエディターを指定後に「Next」をクリック、新しいリポジトリ作成時のブランチ名を聞いてくるので、デフォルトのままでよいので「Next」をクリック、環境変数パスの設定を聞いてくるので、デフォルトのままでよいので「Next」をクリック、ssh.exe ファイルの選択を聞いてくるのでデフォルトのままでよいので「Next」をクリック、HTTPSの設定もデフォルトのままでよいので「Next」をクリック、改行コードの設定もデフォルトのままで良いので「Next」をクリック、ターミナルの設定もデフォルトのままで良いので「Next」をクリック、git pullの設定もデフォルトのままでよいので「Next」をクリック、資格情報マネージャー(Credential Manager)の選択もデフォルトのままでよいので「Next」をクリック、オプションの設定もデフォルトのままでよいので「Next」をクリック、試験運用オプションもデフォルトのチェックを入れずに「Install」をクリックすると、インスールが始まりしばらくするとインストールが完了しますので「Finish」をクリックしすると、あなたのパソコンに3つのアプリ(Git GUI 、Git CMD 、Git Bash)がインストールされているはずです。

Gitの基本的言葉の意味と初心者に必要な主要なコマンド

Gitの基本的な作業フロー

 Gitでバージョン管理する際に最初に知る必要がある概念的なものとし、ワーキング(作業)ディレクトリ、ステージングエリア、ローカルリポジトリ(PCの保管場所)があります。

 つまり、Gitで作業する際に最初は、Gitを利用するディレクトリに初期宣言(Git init)をし、そのプログラムなどの修正をしますが、この修正する場所をワーキング(作業)ディレクトリと呼びます。

 修正したファイルなどは、ステージ(インデックス、Git add)して、ステージングエリアに保存され、ステージングされたファイルが、ローカルリポジトリに記録できる(Git commit)仕組みになっています。

 ここら辺の解説は、次の記事を見ると良く分かります。

 Git statusコマンドは、修正したりしたファイルがどのような状態になっているかを知るためのコマンドです。

 その際に出てくる単語で知っておく必要があるものとして次のものがありますので、記しておきます。

  • 未変更(unmodified)
    Gitが変更を追跡しており、スナップショットがリポジトリに保存されているファイル
  • 変更済み(modified)
    Gitが変更を追跡しているが、変更がリポジトリに保存されていないファイル
  • ステージ済み(staged)
    Gitが変更を追跡しており、コミットの対象となっているファイル
  • 未追跡(untracked)
    Gitが変更を追跡していないファイル

Gitの初心者に必要な主要コマンド

 初心者がGitを利用する上で知っておいた方が良い主要なコマンドを表の形にまとめました。

コマンド名 意 味
git init Gitを利用するためにカレントディレクトリにGitリポジトリを新規作成します。作成したリポジトリには「.git」という名前のディレクトリが作成され、Gitはこのリポジトリを基にファイルの変更履歴を管理します。
git clone 既存のリポジトリをコピーします。コピーするリポジトリを指定し、どこ(ディレクトリ)にコピーするかを指定してやると、指定したディレクトリにコピー元のクローン(コピー)が作成されます。
git add ファイルの変更、削除、追加などをした際にステージングエリアに保存するコマンドでインデックスとも言われ、リポジトリに保存する前は必ずこのコマンドをする必要があります。
git status ファイルの変更状態を表示します。
git pull リモートリポジトリ(サーバ上にあるリポジトリ)の変更内容をローカルリポジトリ(自分のパソコン上にあるリポジトリ)に反映します。
git push ローカルリポジトリの変更内容をリモートリポジトリに反映します。
git commit ステージングエリアにある変更されたファイルなどをローカルリポジトリに保存します。
git reset 直前のコミットを取消します。
git branch 現在のブランチとは別の枝分かれしたブランチを作成します。
git checkout 処理対象のブランチを切り替えます。
git merge 別のブランチで変更した内容を現在のブランチに統合します。
git log ローカルリポジトリに保存した変更履歴を表示します。

GitHubとは?

 Gitを利用したWebサービスには、主要なものとしてGitHub、Bitbucket、tracpath、
GitLabなどがありますが、この中で最も多くの方に利用されているのがGitHubです。

 GitHubはGitを利用したオープンソースのWebサービスですが、次のような特徴を持っています。

  • パブリックリポジトリやプリベイトリポジトリを無料で無制限に利用が可能
  • 利用者数が多いためオープンソースプログラムも豊富であり利用も可能
  • 最先端のプログラミングなどの技術を学ぶことが可能

 GitHubには無料版と有料版(1ユーザーにつき、Pro版:4ドル/月、Enterprise版:21ドル/月)がありますが、無料でも十分に利用が可能です。

GitHubのアカウント作成

 GitHubを利用するためには、登録してアカウントを作成する必要があります。

 GitHubのホームページに移動し、左の方にある「Where the world builds software」の下にある「Email address」と書かれた部分に、GitHubで利用するあなたのメールアドレスを記入して「Sign up for GitHub」をクリックします。

 「Welcome to GitHub! Let’s begin the adventure」と表示され、「Enter your email」には先ほど入力されたEmailが既に表示されていますので「Continue」をクリック、「Create a password」と表示されますのでパスワードを記入し「Continue」をクリック、「Enter a username」と表示されるので、あなたのGitHubを利用する上での名前を記入して「Continue」をクリック、「Would you like to receive product updates and announcements via email?(製品のアップデートやお知らせをメールで受け取りますか?) Type "y" for yes or "n" for no」と聞かれるので「y」を記入して「Continue」をクリック、「質問に回答して、あなたがロボットではな いことを証明してください。」と表示されますので「検証する」をクリック、2回ほど渦巻き銀河をクリックすると「✓」マークが付き、その下の「Create account」をクリックします。

 「You're almost done! We sent a launch code to あなたのメールアドレス」と表示されますので、そこにメールアドレス宛に届いたコードを記入(この部分の画像は省略)、「Welcome to GitHub」と表示され、「How many team members will be working with you?」と「Are you a student or teacher?」と聞かれるので、あなたの該当するものを選択して「Continue」をクリックします。

 「What specific features are you interested in using?(どのような特定の機能を使用することに興味がありますか?)」と聞いてくるのであなたが興味のあるものに全てチェックを入れ「Continue」をクリックします。

 無料か有料で利用すか聞いてくるので「Continue for free」をクリックします。

 すると、GitHubの初期画面が表示され、利用できるようになりました。

 下記の画面は、Google翻訳で翻訳したGitHubの初期画面です。

 

おわりに

 いかがだったでしょうか?

 Gitとは?、Gitの特徴、Gitの解説本、Gitのインストール、Gitの基本的言葉の意味と初心者に必要な主要なコマンド、Gitの基本的な作業フロー、Gitの初心者に必要な主要コマンド、GitHubとは?、GitHubのアカウント作成などについて紹介してきました。

 この記事を読んで少しでも「Git やGitHub」に興味を持っていただき、あなたの文書やプログラム作成時のバージョン管理に役立ててもらえればこれほど嬉しいことはありません。

以上です。

 

コメント

タイトルとURLをコピーしました