はじめに
以前Gitについて社内説明会をすることになり、要点をまとめたので書きます。
「Gitって聞いたことあるけど…」という人向けの記事で、シンプルにまとめました。
使い方は説明していませんが、使い方のイメージまでは説明しています…。
Gitとは?
・バージョン管理システム!
・GitHubではない!(GitHubとはGitを利用したWebサービス)
・ファイルの変更内容や変更履歴を管理!
・あとから古い状態に切り戻したりできる!
バージョン管理システムとは?
ファイルに対して「いつ」「誰が」「何を変更したか」といった情報を記録することです。
ファイルそのものや変更履歴などの情報を保管しておく場所を「リポジトリ」と言います。
リポジトリの管理方法
リポジトリの管理方法には「集中型バージョン管理システム」と「分散型バージョン管理システム」の2つがあります。Gitは「分散型バージョン管理システム」です。
集中型バージョン管理システム (Subversion)
1つのリポジトリを全員で共有し、1つのリポジトリに対してcheckoutやcommitを行うので、操作がシンプル。
動画など容量のでかいコンテンツの管理に向いてます。
分散型バージョン管理システム (Git)
自分のPC上にローカルリポジトリを作成し、そのcommit内容を共有リポジトリに反映させる(push)仕組みで、やや複雑。
Gitを使うためには…
CUI
macOSはターミナル(linux)、windowsはコマンドプロンプト(dos)で操作します。
GUI
Sourcetree、TortoiseGit、GitHub DesktopなどのGitクライアントツールで操作します。
Gitの仕組み
ローカルリポジトリ
ユーザ一人ひとりが利用するために、自分の手元のマシン上に配置するリポジトリです。
リモートリポジトリ
専用のサーバ(Github、Bitbucket、Backlogなど)に配置して複数人で共有するためのリポジトリです。
使い方 (イメージ)
自分が作業したコードなどある程度のカタマリをローカルリポジトリに記録(commit)し、リモートリポジトリに保管(push)します。
メンバーも同様にpushしていれば、自分はリモートリポジトリから引っ張ってきて(pull)、自分のローカルリポジトリに付託します。
さいごに
共同作業する場合は「ブランチ」を使うことでGitの効果が発揮されます。
「ブランチ」についてはまた時間のある時に投稿しようと思います。