JavaScript勉強会

JavaScriptの学習日記

バージョン管理システム「Git」(ギット)

パソコンでいろんなファイルを作成・更新するとき、古いファイルや新しいファイルの世代管理が必要な場合があります。

この世代管理を行うためのツールとして、Gitというバージョン管理システムがあります。

 

f:id:jsstudy:20171015151040p:plain

 

jsstudy.hatenablog.com

 

わかばちゃんと学ぶ Git使い方入門」という入門書でバージョン管理を学んでみます。

 

 

SECTION 01 Gitで解決できること

(p.26)

  • Gitとは、バージョン管理システムである
  • 簡単な操作で、変更ごとのバックアップをとることができる
  • いつでも好きな時点に戻せる
  • 各メンバーの修正と合体できる

 

SECTION 01の内容は、Web版でも閲覧できます。

 

codeiq.jp

 

世代管理とは?

世代管理 - ASCII.jpデジタル用語辞典

せだいかんり 【世代管理】 generation management

ファイルを更新した日付の記録などで、ファイルを管理すること。

同名のファイルが複数のドライブに保存されている場合などに利用する。

また、ソフトウェアの機能として、あるファイルを修正して保存するときに、修正前のファイルも残しておく二世代管理もある。

 

手動でファイルの世代管理を行う場合は、「ファイル名+日付」のような方法が一般的かと思われます。

販売レポート_2017年8月.txt

販売レポート_2017年9月.txt

販売レポート_2017年10月.txt

 

更新が頻繁でファイル数も膨大になると、手動での世代管理は大変なので、自動で行う方法が便利です。

 

バージョン管理システムとは?

バージョン管理システム(Version Control System)は、ファイルの世代管理を自動で行うためのツールです。

 

バージョン管理システム - Wikipedia

バージョン管理システムとは、コンピュータ上で作成、編集されるファイルの変更履歴を管理するためのシステム。

特にソフトウェア開発においてソースコードの管理に用いられることが多い。

 

バージョン管理システムで、更新履歴を保存しておく倉庫を「リポジトリー」と言います。

 

リポジトリ - Wikipedia

リポジトリ (repository) とは、情報工学において、仕様・デザイン・ソースコード・テスト情報・インシデント情報など、システムの開発プロジェクトに関連するデータの一元的な貯蔵庫を意味する。

一種のデータベースであり、ソフトウェア開発および保守における各工程の様々な情報を一元管理する。

 

リポジトリーがある場所によって、バージョン管理システムは2種類に分類できます。

  • 集中型:サーバーなど1箇所リポジトリーがある。
  • 分散型:サーバーや各パソコンなど複数の場所リポジトリーがある。

 

Gitとは?

バージョン管理システムのソフトにはいろいろありますが、その中の1つが「Git」(ギット)です。

 

Git - Wikipedia

Git(ギット)は、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。

Linuxカーネルソースコード管理に用いるためにリーナス・トーバルズによって開発され、それ以降ほかの多くのプロジェクトで採用されている。

 

Gitは、Linuxの作者・リーナス氏によって作られました。

分散型のバージョン管理システムなので、自宅や会社やカフェなど、場所を選ばずどこでも作業ができます。(サーバーに置いたリポジトリーにアクセスできないときでも作業できます。)

 

Gitの公式サイト

https://git-scm.com/

Gitの日本語ドキュメント

https://git-scm.com/book/ja/v2

 

Sourcetreeとは?

Gitを使いやすくするための補助的なソフトがいろいろあり、「Sourcetree」もその中の1つです。

 

ja.atlassian.com

 

とりあえず、Sourcetreeを使って、Gitの練習をしてみたいと思います。

 

 

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉

わかばちゃんと学ぶ Git使い方入門〈GitHub、Bitbucket、SourceTree〉