はじめに
現場でGitHubを使っていて、ある程度使い方を知ってるつもりでしたが、理解できていない部分もあることに最近気づいたので、改めてgithubについてまとめてみました。
GitHubとは
GitHubとは、オンラインでソースコードを共有できるものです。
元々はソースコードのバージョン管理ができる「Git」というシステムを使っていたのですが、Gitを用いてオンラインで管理できるようにしたり、Gitにはない便利な機能を追加したりしたWebサービスがGitHubです。
Gitを利用したWebサービスはGithub以外にもありますが、世界中で広く使われてるのはGitHubです。
GitHubで知っておきたい知識
リポジトリ
リポジトリとはファイルやディレクトリの状態や変更履歴などを保管しておくものです。
リポジトリにはリモートリポジトリとローカルリポジトリがあります。
リモートリポジトリとはネットワーク上にあるリポジトリで、ローカルリポジトリとは自分のPCにあるリポジトリです。
自分のPCで作成や変更したファイルをローカルリポジトリに保存して、それをリモートリポジトリに上げて公開することで他の開発者と共有できます。
add,commit,push
自分のPCでファイルを変更したら まず、git add
でステージングエリアという控室のようなところにファイルを追加します。
その次にgit commit
でローカルリポジトリに情報を保存します。
この時に、どういうファイルの作成や追加をしたかがわかるようにコミットメッセージを書きます。
コミットメッセージは他の開発者に伝わりやすいように、ルールが設けられたりすることがあります。
以下の記事はわかりやすいコミットメッセージを書くための参考になると思うので、ぜひ見てみてください。
僕が考える最強のコミットメッセージの書き方
最後に、git push
でリモートリポジトリに情報を保存します。
ブランチ
ブランチとは、同じプログラムの中で変更履歴を分岐して保管していくものです。
メインのブランチから分岐したブランチは他のブランチの影響を受けないため、同じプログラム内で2人が違う変更をしたい場合、普通なら1人の作業が終わるまでもう1人は作業をすることができませんが、ブランチをそれぞれ分けることで2人同時に作業することができます。
そして作業が終わった後にはメインのブランチにそれぞれの変更内容を反映させることができます。
プルリクエスト
プルリクエストとは、ローカルリポジトリでのファイルの変更を他の開発者に通知するものです。
変更内容をメインのブランチに反映させたい時やコードレビューをもらう時に利用します。
プルリクエストでは
- ファイルの変更内容の通知
- ファイルの変更箇所の表示
- ファイルに関してコミュニケーションを取り合う
ことができます。
マージ
マージとは、ローカルリポジトリでのファイルの変更をメインのブランチに反映させることです。
プルリクエストでコードレビューなどを他の開発者に依頼し、問題がなければマージしてファイルの変更をメインのブランチに反映します。
GitHubのメリット
作業効率が上がる
「ブランチ」のところでもありましたが、GitHubのブランチを利用することで、複数人で同時に作業することが可能です。
また、誰がどうしてファイルを変更したのか、変更履歴も遡って確認することができるため、バグが起きた時にも対処しやすくなります。
品質を高めることができる
GitHubではコードを共有して誰でも見ることができ、その場でコミュニケーションを取ることもできるので、レビューの機会が増えて、品質を高めることができます。
無料でプライベートリポジトリも利用できるため、公開したくないファイルを非公開で共有することができて安心です。
GitHubのデメリット
GitHubは無料でプライベートリポジトリを利用することができますが、間違えて公開してはいけないファイルを公開してしまうこともあります。
特に公開してはいけないファイルをGitHubで取り扱う際には注意が必要です。
まとめ
GitHubは使い方に注意な部分もありますが、使いこなすことができれば複数人での作業やバージョン管理など、とても便利なサービスです。
これからも利用して、より良い使い方を探していきたいと思います。
もし内容に間違いなどあればコメントなどで教えてください。
参考記事
【入門】GitHubとは?基本的な知識やメリット、活用事例をわかりやすく解説
【Git】と【github】の違いとは?
【徹底解説】GitHubリポジトリとは?作成や削除・運用方法まとめ!
(https://qiita.com/renesisu727/items/248cb9468a402c622003)
プルリクエストとは?