ソフトコムでコーディングを担当している米田です。ちょうどこの2月で入社して2年が経ちました。
早いですねー

入社前に一度Gitを独学で勉強しようとして挫折した経験があるのですが、Gitを使っているところもあると聞き、もう一度勉強しようと思いました。

Gitは主に、複数人で作業する時に使用されます。
1人で勉強してもイメージができないなと思い、同僚の山田に声をかけ2人でGit勉強会を週に一度行い、社内のポータルサイトに追加する機能をGitを使って作成しました。

Gitとは

Gitとは、もともとLinuxカーネルの開発のためにリーナス・トーバルズによって2005年に作られた、ソースコードのバージョン管理を行うための分散型バージョン管理システム(DVCS: Distributed Version Control System)です。

Gitが使えると複数人でのサイト制作が効率よくできるようになります。
それぞれに分担された作業を行う場所と、それをまとめるためのメインの場所が分かれているため、他の部分の邪魔をすることなく作業ができます。もし、他の方と同じ部分を修正したとしてもその部分を教えてくれる機能もあるのがとても便利です!(あとで、詳しく書きます)

FTPでサーバーにアップして何か問題があったとき、バックアップをとっていないと元に戻すことが大変なのですが、Git上で更新履歴をそれぞれに残すことができるので、問題が起こった場合でも戻すことが簡単です。

Gitの基本

リポジトリ

リポジトリとは、ソースコードやその変更履歴を管理するためのデータベースのようなものです。
リポジトリには「ローカルリポジトリ」と「リモートリポジトリ」の2種類があります。

ローカルリポジトリ:作業者のPC上にあるもの
リモートリポジトリ:GitHubやGitLabなどクラウド上にあるもの

ローカルリポジトリでまず作成し、リモートリポジトリにアップして共有していきます。

ブランチ

Gitに用意されている機能で、複数人でスムーズに作業をするため重要な仕組みです。

イメージとしては、画像フォルダのなかにあるイベント毎に分けられたフォルダが「ブランチ」です。

主に機能に分けてブランチを作成します。
それぞれがそのブランチ内でそれぞれの機能開発を完成させ、最後にメインとなるブランチに統合(マージ)します。

GitHubを使う場合

Mainブランチに統合(マージ)するときは、プルリクエストを行います。
修正した人が、他の人に修正したことを通知することをプルリクエストといいます。
プルリクエストを受けた人は、その内容を確認し問題がなければ、mainブランチに統合します。
もちろん問題があれば、修正内容などメッセージを送ることも可能です。

一人で完結せず、問題ないか確認してもらえるところがいいですよね!

コンクリフト

複数人で作業していると、同じ部分を修正してしまうことが起こってきます。
このことを「コンクリフト」と呼びます。

コンクリフトが起こっていると統合することができず、該当部分にエラーメッセージのようなものが自動で挿入されるようになっています。
なので、「気づかず上書きしてしまった」ということがなくなります。

コンクリフトを解消して統合しましょう

これは、まだまだ初級です。
私もまだまだコマンドも覚えきれていませんが、やっと呪文じゃなく見えてきました(笑)

使ってみて難しいと感じる部分も多いですが、コンクリフトなど複数人で作業するときに便利な機能もたくさんあると感じました。さらに理解を深め、業務でもバリバリ使えるようにし、大きなプロジェクトにも参加できるようにしていきます。