📘

githubについて

2021/11/10に公開

Githubって?

Githubは、CUIツール(コマンドラインツール)の1種で、
ソースコードのバージョンをいつだれがどこを編集したのか、
最新バージョンはどれになるのか?などを管理するツールです。

Githubの使用について

Githubをまず、インストールが必要です。
Windowsの場合インストーラがありますので、下記のサイトよりダウンロードしてインストールしてください。
https://gitforwindows.org/
Macの場合、ターミナルで次のコマンドを打つことでインストーラが起動します。(Gitをインストールしている場合、バージョン番号が出力されます)

$git --version

Githubの基本知識

ローカルリポジトリとリモートリポジトリ
リポジトリは、ファイルやディレクトリの状態を保存するスペースのようなものです。管理したいディレクトリをリポジトリと連携させることで、
そのディレクトリ内のファイルの変更履歴を記録し、保存していくことができます。

リポジトリは自分のPC内に記録される「ローカルリポジトリ」と、ネットワーク上に存在する「リモートリポジトリ」の2つがあります。
ローカルリポジトリで作業を行ったものを、リモートリポジトリへプッシュする流れが基本的な方法となります。

なお、リモートリポジトリはGitHub上で作成が可能です。ローカルリポジトリについては、
GitHub上で作成したリモートリポジトリをクローンする形で作成するのが一般的です。

クローン(clone)

リモートリポジトリをローカルにダウンロードするコマンドです。その時の最新版のデータと変更履歴などがまとまっていますので、
クローンしたタイミングのリモートリポジトリと全く同じ環境をローカルに作成します。これにより、
他の人の影響を受けずに自分のPCで作業ができるようになります。

ブランチ(branch)

ブランチとは、作業を分岐させて履歴の流れを保存していく方法のことをいいます。
分岐されたブランチは他のものの影響を受けないので、1つのソフトウエアに対して複数のメンバーが同時に、
バグの修正や新たな機能追加を行うことができます。

おおもとのデータがあれば、修正されたブランチをマージ(導入や合流)させることで、
ファイルを一から作り直すことなくさまざまな修正を行うことが可能です。

アッド(add)

コミットしたいファイルを「インデックス」あるいは「ステージングエリア」と呼ばれる領域に追加します。
インデックスにはファイルの変更箇所などが記録されます。

コミットとプッシュ(commit / push)

コミットとは、ファイル追加や変更の履歴をリポジトリに記録することです。
プッシュはファイル追加や変更の履歴をリモートリポジトリにアップする操作のことをいいます。

なお、コミット前に修正したファイルをアッド(add)する必要があります。Gitは、まず仮の保管場所に変更したファイルをまとめ、
それに名前をつけてパッケージにするという手順をとります。この仮の保管場所に保存するコマンドがアッド、
名前をつけてパッケージにするコマンドがコミットです。

プルリクエスト(Pull request)

プルリクエストとは、自分が行った変更をオリジナルのものに反映させたいというときに使う通知方法です。
オリジナルのオーナーにプルリクエストを通知することができます。

なお、プルリクエストの処理は、GitHub上で行うことが可能です。ブランチに対してプッシュを行った場合、
GitHubで該当のリポジトリの画面を開くと、「Compare & pull request」というボタンが出ています。このボタンを押下することで、
プルリクエスト作成画面に移行できます。

フォーク(fork)

フォークは、食事をするときに使うフォークの先端のように、複数に分派した他の人のプロジェクトのリポジトリをコピーして
自分のものを改変していくことを指します。

オリジナルのファイルに対する編集アクセス権がない場合でも、自分の場所に取り入れることによって編集できるようになります。

GitHubでの失敗談

ちょっとした失敗談になりますが、プロジェクト変更を加えた際に(add commit)しpushした気になり
GitHubを確認するとコミットされてない???なぜ??
っていうことがたまにあるので、pushまでしっかり行いましょう(笑)

Discussion