未経験エンジニアとして働き始めて3ヶ月、いよいよプロジェクトに参加できるようになったのですが、そこで出会ったのが「Git」でした。
そもそも、「Git」って何状態でしたし、他のメンバーとの共有すると聞いて下手に操作してプログラムが壊れてしまったら怖い…と思い「Git」を勉強することにしました。
今回は、Gitに出てくる専門用語を初心者でもわかりやすいようにまとめてあります。
Gitとは?
Gitとは、一言で言うと「バージョン管理システム」です。
誰が?、いつ?、どのファイルの何を?変更したのかを管理するシステムです。
Gitを使うと出来ることは?
ファイルの最新バージョンを管理することが簡単に
「いつ」「誰が」「どのファイルのどの箇所を」「何のために」「変更あるいは削除した」のか、ということを履歴で残すことができ、チームで共有することができるので、最新のファイルがどれで、どのような状態なのかということを管理するのが容易になります。
また、複数のメンバーが同時にプログラムを編集していて、せっかく編集したのに別のメンバーが上書きしてしまった場合でも、修復することが出来ます。
ファイルの復元が可能に
必要なファイルを削除してしまった場合、仕様書が変更され1つ前のバージョンでプロジェクトを進めることになった場合でも、直前の履歴にファイルを戻すことで、削除してしまったファイルを復元することができます。
Gitを学ぶ上でよく出てくる単語
リポジトリ
リポジトリとは、Gitによってバージョン管理を行う場所として指定した場所のことです。
リポジトリには、「ローカルリポジトリ」と「リモートリポジトリ」があります。それぞれ、以下のような特徴があります。
ローカルリポジトリ | リモートリポジトリ |
自分一人で使う場合 自分のパソコンの中にリポジトリを置く | 複数人で作業する サーバーにリポジトリを置く ネットを介してどこからでも利用できる |
また、複数人で作業する場合は、リモートリポジトリのクローンを作成して、各々のパソコン上にローカルリポジトリを作成し作業していくことが多いです。
SourceTree
SourceTreeとは、Gitのコマンド操作をボタンなどを用いて直感的に操作するためのツールです。
初心者には、コマンドを入力してGitを操作するのは難しいので、SourceTreeを使うことをお勧めします。
ちなみに、コマンド操作とは、「git status, git log, git remote add」といったように、Gitの操作を全て文字で入力する方法です。
Source Treeは「http://www.sourcetreeapp.com/」から無料でダウンロードできます。
コミット
コミットとは、編集などのファイルの変更作業を行なった際に、リポジトリに登録する作業です。
また、コミットをする際には、誰が見ても分かりやすいメッセージをつける必要があります。
コミットメッセージの書き方
- コミットのタイトルや概要 (例. 入力ボタン処理のバグの修正)
- 空行 (1行空白の行を入れる)
- コミットの内容や変更目的を詳しく書く (例. 入力ボタンを押した際のページ移動処理が抜けていたので追加しました。)
プッシュとプル
プッシュとは、ローカルリポジトリからリモートリポジトリへ変更履歴をアップロードすることです。
一方、プルは、リモートリポジトリからローカルリポジトリに変更履歴を取得することです。
「プル」は「フェッチ」と「マージ」に分けられる
「プル」は、「フェッチ」と「マージ」の2つの操作が合わさったものです。
フェッチとマージ
フェッチとは、リモートリポジトリの最新の情報を「取得」することです。
マージとは、フェッチで取得したリモートリポジトリの最新状態にローカルリポジトリの状態を合わせることです。
自分のローカルの状態はまだ変更したくないけど、リモートリポジトリの状態を知りたいときは、プルを使わずにフェッチを行おう!
コンフリクト
コンフリクトとは、同じ1つのファイルの同じ箇所に、複数の修正が同時に行われた際に発生するエラー。
2人が同じ箇所を修正してしまった場合、Gitにはどちらの修正が正しいのかを判断することができないので、自分たちで解決しなければなりません。
ブランチ
ブランチとは、作業内容を枝分かれさせて複数の作業を並行して進めることができる機能です。
ブランチを利用することで、同時に複数の作業を独立して行うことができます。
ブランチを使う際は、軸となる「masterブランチ」(上の図で言うと公開用)を確立させ、masterブランチから枝を派生すること、ブランチ作業が終わったらmasterブランチに統合することを意識的に行っていかないと管理が難しくなってしまうよ。
最後に
Gitを勉強するのはなかなか難しいですが、使いこなすととても便利なものなので、少しずつ勉強していき使えるようになりましょう。
コメント