こんにちは!デザイナーのリッキーです!
今回は必須ツールといっても過言ではない「Git・GitHub」の基礎をざっくり紹介していきます。
基礎知識
バージョン管理システムとは
ソースコードをはじめとしたファイルの変更履歴を管理することを「バージョン管理」と呼びます。
みなさんゲームした時って「セーブ」しますよね?
違う新しい町まで来れた、ボス戦の前・・・
負けてしまってもセーブしたところからまたスタートできますよね。(セーブし忘れで何回枕を濡らしたことか)
これは、ある特定の位置でのセーブデータのバージョンが関係しています。
このセーブデータのバージョンを管理するシステム、というイメージです。
ファイルの追加・変更の履歴情報を管理することで、過去の変更箇所を確認したり、状態を指定した内容に戻したりすることができます。
ほんと便利。
仕事をする際、基本チームで動くことがほとんどです。
チームで共有しているファイルの場合では、二人で同時に編集していると、先に編集した人の変更内が消えてしまいます。
また、元に戻したい場合なんかは変更前のコピーがないと元に戻せません。
この問題を解決するために作られたのが「Git」などの「バージョン管理システム」です。
Gitとは
Gitとは、分散型バージョン管理システムの一つです。
リポジトリを複数持つことができて、開発の形態、規模に合わせてソースコードの管理ができることから「分散型」と呼ばれています。
ゲームのセーブデータみたいにGitではファイルの状態を好きなときに変更履歴として保存しておくことができるので、過去の状態に戻したり、どこが変更されたのか表示することができます。
また、古いファイルで、他の人が編集した最新ファイルを上書きしようとするとサーバーにアップする時にエラーを表示してくれるので上書きしてしまって消してしまうといったミスも起こりません。
リポジトリとは
リポジトリとは、ファイルやディレクトリの状態を記録する場所です。
まぁ「何かの保管場所」と思ってもらえれば大丈夫です。
リモートリポジトリとローカルリポジトリ
Gitのリポジトリは、リモートリポジトリとローカルリポジトリの2種類に分けられます。
〇リモートリポジトリ
複数人で共有するリポジトリのこと
〇ローカルリポジトリ
自分専用の自身のパソコンの中に配置するリポジトリのこと
GitHubとは
GitHubとは、Gitの仕組みを利用して、世界中の人々が自分の作品(プログラムコードやデザインデータなど)を保存、公開できるようにしたウェブサービスの名称です。その名の通り、「Git」の「ハブ:拠点・中心・集まり」という意味になります。
・GitとGitHubの違いひと言でいうと「システムとサービス」の違いになります。
別物です。
例えると「動画」というシステム・「Youtube」というサービスみたいなものです。
デザイナーなりたての時は「GitHub略してGit」だと思ってました。
コミットとは
追加・変更を、リポジトリに記録する操作のことコミットを実行すると、リポジトリ内では、前回のコミットから現在の差分を記録したコミット(またはリビジョン)が作成されます。
過去にコミットしたファイル・変更内容を確認することができます。
リポジトリの共有
Push
ローカルリポジトリの変更履歴をリモートリポジトリに共有する操作のこと
Pull
リモートリポジトリでは複数人で共有して作業している場合、各々プッシュしているので、ほかの人のプッシュした変更内容を自分のローカルリポジトリに取り込み更新すること
ブランチ
ブランチとは
実装する場所を切り離し全体に影響が出ない状態で開発を進めるための手法です。
masterブランチ
ざっくりいうと完成形のデータです。
1、マスターブランチからトピックブランチ作成、切り離す。
2、切り離したトピックブランチで実装
3、②で作ったものをマスターブランチに繋ぎ直すことでマスターブランチに反映させる
みたいな流れです。
ブランチの統合
作業が終わってメインのブランチに統合することただ、Push=結合するというわけではなくて、ローカルリポジトリからリモートリポジトリに持っていくための操作です。
pushでリモートリポジトリに持って行った変更内容をすでにリモートリポジトリにあるものと繋げる操作をマージと言います。
コンフリクト
コンフリクトとは
簡単にいうと「あなたが変更した箇所、他の人も変更してるよ!」と教えてくれる機能になります。
別のブランチで作業しているAさん、Bさんがお互い同じファイルをいじって変更してしまっている状態がコンフリクトです。Aさんはマスターブランチにマージできますが、Bさんがマスターブランチにマージしようとした時
GitHub「このBさんのファイル、ブランチを切ったときと違う。どっちが正しいの?ピピー!」
これがコンフリクトです。
まとめ
Gitは必須となってくるツールです。
ほんとこれ一番はじめに覚えた方がいいぐらいの勢いの持ち主です。はい
面接でも「Git使えますか?」この質問は必須項目になってます。
今回は基礎を説明したのですが、実際に使ってみないとわからないことがたくさんあるので、次は「実践編」ということで記事にしたいと思います!
以上!【いまさら聞けないGit・Git Hubの基礎編】でした!
ありがとうございました!
株式会社TORATはクリエイティブから様々な業務まで
TORATを一緒に盛り上げて頂けるメンバ―を募集しております!
▽採用情報についてはこちらから▽
https://www.torat.jp/recruit/