支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡


はじめに:Gitについて・今回焦点を当てる箇所

Gitは基本的に繊細過ぎる

ドキュメントバージョン管理システムとして有名なものにGitがあります。Gitのバージョン管理は手動で行う際の手間と、人間間で起こる管理手法の違いに起因したバージョン管理の崩壊を防いでくれます。Gitをインストールする際に設定方法を聞いてくるため、ある程度方式が決まったうえで使用することが可能です。

ですがコレが曲者です。インストールを行う者の実力は、その時ごとにまちまちです。 何度もGitを使用した経験のある熟練者であれば、Gitを使用する背景を加味した上で適切な設定を行うことが可能ですのでプロジェクトになじむ形でインストールすることができます。 一方、Gitビギナーが行う場合いきなり細かく聞かれても適切な設定方法がわかりません。インストール後に設定を調整する際もGitへの理解が前提となるため、ある程度Gitに振り回される形で使い続けることになります。 インストールに対する事柄によりGitの傾向がある程度見えてきます。このような事例をはじめとして、Gitは繊細な一面を内包しています。一見シンプルに見えるシステムに反し厳密な構成を持っており、それを覆すことを許していません。GUI Gitの場合、一見自由度が高く見えますが実際に使用するとエラーが頻発するケースがあります。システムへの理解が乏しい状態で操作していると、基本的な手順に従っていても発生することがあります。Gitは便利な管理システムですが繊細です。繊細なので管理するだけで疲労することがあります

Gitのpushに焦点を当てます。GitHub使用想定です

今回はGitのpushに焦点を当てています。GitHubを利用する前提のためGitHubについても見ていきます。Gitはコマンドの意味するものの背景を知ることで使用難易度が下がります。Gitの内包する繊細さと簡潔さを理解することではじめて便利なツールとして使用することができます。

GitHubとは

GitHubは、ざっくり言うとGitのWeb版です。GitHub上にリモートリポジトリを設置することにより、インターネット経由で接続して使用することが可能です。ローカル上にリモートリポジトリを設置し、それをサーバーとして公開するなどの手間なく複数人で編集する環境を持つことができます。Gitのバージョン管理は個人で使用しても便利ですが、複数人で使用する際に真価が発揮されます。無料で使用する際は閲覧に関して制限がかからない(パブリック状態)点を留意して使用する必要があります。 利用する際はアカウントを作成することで使用することが可能です。認証方式としてSSHプロトコルを利用した公開鍵方式があります。GitHubを利用するために、これらの設定・作成が必要となります。

pushについて

GitHubにてpushを行うと、ローカルリポジトリで作成したブランチをリモートリポジトリ上に作成することができます。新たに作成したブランチは最終的にmasterブランチにマージされる必要があります。pushはその前段階と言えます。Gitにはローカルリポジトリ・リモートリポジトリという概念が存在します。リモートリポジトリがドキュメントを統括して管理している場所で、ローカルリポジトリが各個人ごとの作業スペースと言えます。基本的なGitの使用方法は、個人で作業したものをリモートリポジトリに取り入れる流れを繰り返すことです。ローカルリポジトリ上で作業したものはもちろんリモートリポジトリの内容とは異なっているため、その内容を『とりあえずリモートリポジトリにコピー』する必要があります。pushはこの、『とりあえずリモートリポジトリにコピー』に該当します

マージされるまでのpushの立ち位置

先述の通りpushの立ち位置は、リモートリポジトリにとりあえずコピーされている状態です。マージ・レビューを行うためには吟味するもの自体がないといけないので、そのためにコピーされている状態です。流れとしては、pushをスタートとして、プルリクエストからのレビュー実施、マージ可否の判断の後にマージとなります。大抵の場合レビュー実施者はpushした者以外となります。プルリクエストに記述する説明は、レビュー実施者に要点が伝わるよう記述することが必要です。要点が上手に伝わらなかった場合、レビュー実施者を困惑させるだけでなく判断を誤らせる可能性が高くなります。

まとめ

今回はGitHub上での使用を想定したpushについて記述しました。pushは管理視点から見るとスタート地点になります。マージまでを含めた一連の作業を繰り返し行うことでプロジェクトは進行していきます。そのためレビューは重要度が高く、プルリクエストの際はわかりやすく、かつ誤解を招かない説明を添えて行うことが必要です。修正作業はすぐに気付けば比較的容易な作業と言えます。しかし、要修正箇所の発覚が遅くなればなるほど重くなります。作成・修正作業だけではなく、マージ要望を出す際にも注意する必要があります。