Gitとは?【part1】

こんにちは!
C-limber(クライマー)株式会社 新米エンジニアの宮城です。
今回は、未経験からエンジニアを目指す際に、プログラミング言語とは別に、学習していてよかった「Git」ついて、何回かに分けて紹介していきたいと思います。

Gitとは

Gitとは、分散型バージョン管理システムのことです。(詳しい説明は、下記のWikipediaを参照して下さい。)ざっくり言うと、ファイルのバージョン管理が簡単にできるツールのことです。

Gitは、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。Linuxカーネルのソースコード管理に用いるためにリーナス・トーバルズによって開発され、それ以降ほかの多くのプロジェクトで採用されている。
Gitでは、各ユーザのワーキングディレクトリに、全履歴を含んだリポジトリの完全な複製が作られる。したがって、ネットワークにアクセスできないなどの理由で中心リポジトリにアクセスできない環境でも、履歴の調査や変更の記録といったほとんどの作業を行うことができる。これが「分散型」と呼ばれる理由である。

Gitは何のために使用するのか?

ファイルのバージョン管理をするため

ファイルのバージョン管理をしないと・・・

 

最新ファイルがどれなのかわからない
 
 
1つのフォルダに対して、修正を上書きしてしまうなどの問題が起こる
 
 
 

ファイルのバージョン管理すると・・・

・ファイルの最新の状態がわかる
・いつ・誰が・何を変更したかもわかる
・以前の状態にも戻せる
・上書きしようとすると警告が出るので大丈夫!

Gitでできること

ファイルの変更履歴を管理できる

Gitを使えば、「◯月◯日〇〇時に、◯◯さんが◯◯を変更した」という変更履歴を管理できるので、ファイル名をいちいち変更して保存しておく必要がなくなります。

過去のファイルに戻せる

ファイルを編集していて、「変更前に戻したい」って思った時にGitを使えば、変更履歴をそれぞれ管理しているので、いつでも任意の時点のファイルに戻すことができます。

チームで共有できる

同じチーム内の仲間とファイルの変更履歴などが共有できます。複数人で仕事をやる時に起こりがちな問題なども回避することができます。

Gitの基本的な仕組み

データの記録方法

・Gitは、データをスナップショット(その時点の状態を、そのまま丸ごと保存したもの)で記録している
・コミットが直前のコミットを記録しているので、コミットを辿ることで以前の状態に戻せる

Gitがファイルの状態を保存する場所について

ファイルを保存するための構成は以下の通りです。
 
1. ワーキングツリー(今作業しているファイルのある場所)
 
2. インデックス(コミットするためのファイルを登録する場所)
 
3. ローカルリポジトリ(リモートリポジトリに変更内容を送信するための場所)
 
4. リモートリポジトリ(複数人でファイルを共有するための場所)
 

まとめ

今回は、Gitの基本的なところについて紹介しました。
簡単にまとめるとGitとは、ファイルのバージョン管理をするためのものです。
次回は、弊社で使用しているツールも含めて紹介していきたいと思います。

 

\弊社では一緒に働いてくれる仲間を募集しております/

エントリーはこちらから

Related article

おすすめ関連記事