Gitの概要と簡単な利用方法と参考図書

機械学習技術 人工知能技術 デジタルトランスフォーメーション技術 Visualization & UX ワークフロー&サービス ITインフラ技術 本ブログのナビ

サマリー

Gitは、ソースコードのバージョン管理システムで、Gitを使用することで、プロジェクトの変更履歴を追跡し、複数の人々が同時にプロジェクトに取り組むことができるものとなる。

Gitの基本概念
  • リポジトリ(repository)

Gitにおけるリポジトリとは、プロジェクトの変更履歴を保存する場所となる。リポジトリには、ローカルリポジトリリモートリポジトリの2つのタイプがあり、ローカルリポジトリは、開発者が自分のコンピューター上に保存するリポジトリで、リモートリポジトリは、プロジェクトを共有するために使用されるものとなる。

  • コミット(commit)

Gitにおけるコミットとは、リポジトリに変更を適用することを指す。変更は、新しいファイルの追加、既存ファイルの変更、ファイルの削除など、さまざまな形式で表現される。コミットには、変更を説明するメッセージも含まれる。

  • ブランチ(branch)

Gitにおけるブランチとは、リポジトリの変更履歴を分岐する機能となる。新しいブランチを作成することで、開発者はプロジェクトの変更を分離し、別々の開発作業を同時に進めることができる。ブランチは、主に開発者が複数の機能を同時に実装する場合に役立つ。

  • マージ(merge)

Gitにおけるマージとは、異なるブランチからの変更を1つのブランチに統合することを指す。マージを使用することで、開発者は、複数の開発作業を1つのプロジェクトに統合することができる。

  • プルリクエスト(pull request)

Gitにおけるプルリクエストとは、開発者が自分のブランチからマージリクエストを送信する機能となる。プルリクエストを使用することで、他の開発者が変更をレビューし、承認することができる。

Gitを始めるための準備

Gitを始めるためには、以下のような準備が必要となる。

  1. Gitのインストール

まず、Gitをインストールする必要がある。公式HPより各オペレーティングシステムに応じたGitのインストール方法により、手順に従ってインストールする。

  1. Gitの設定

Gitを使用するには、いくつかの設定が必要となる。これらの設定には、名前とメールアドレス、改行コードの設定などが含まれる。git configコマンドを使用して設定を変更できる。

  1. Gitリポジトリの作成

Gitリポジトリは、ファイルの変更履歴を保存する場所となる。Gitリポジトリを作成するには、git initコマンドを使用して現在のディレクトリをGitリポジトリに初期化する必要がある。また、既存のリポジトリをクローンして使用することもできる。

  1. Gitコマンドの学習

Gitには多くのコマンドがある。基本的なコマンドを学習し、Gitの使い方を習得する必要がある。後述する参考図書やGitの公式ドキュメントやオンラインのチュートリアルを参照のこと。

Gitの環境設定

Gitの環境設定には、グローバル設定とローカル設定の2つがある。

  • グローバル設定

グローバル設定は、使用するすべてのGitリポジトリに適用される設定となる。以下のコマンドでグローバル設定を変更できる。

git config --global <設定名> <設定値>

例えば、以下のようにして、名前とメールアドレスを設定できる。

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
  • ローカル設定

ローカル設定は、特定のGitリポジトリに適用される設定となる。以下のコマンドでローカル設定を変更できる。

git config <設定名> <設定値>

例えば、以下のようにして、リポジトリ固有のエディタを設定できる。

git config core.editor "vim"

また、Gitには多くの設定がある。以下に、よく使用される設定の例を示す。

  • user.name: コミットに使用する名前を設定する。
  • user.email: コミットに使用するメールアドレスを設定する。
  • core.editor: コミットメッセージを編集するためのエディタを設定する。
  • core.autocrlf: 改行コードの自動変換を設定する。
  • color.ui: ターミナルでGitコマンドの出力に色をつけるかどうかを設定する。
Gitの基本コマンド

Gitの基本的なコマンドは以下の通のようになる。

  • git init: 現在のディレクトリをGitリポジトリに初期化する。
  • git clone: リポジトリのコピーを作成する。
  • git add: 変更したファイルをステージングエリアに追加する。
  • git commit: 変更をリポジトリにコミットする。
  • git push: ローカルリポジトリの変更をリモートリポジトリにプッシュする。
  • git pull: リモートリポジトリから変更をプルしてローカルリポジトリにマージする。
  • git status: 変更されたファイルを表示する。
  • git log: コミット履歴を表示する。
  • git branch: ブランチを作成する。
  • git checkout: ブランチを変更する。

これらの基本的なコマンドをマスターすることで、Gitをより効果的に使うことができる。

Gitの参考図書

Gitの参考図書としては「Web製作者のための GitHubの教科書」がある。

本書はWeb制作におけるGitHubの使い方を、実際のワークフローをイメージしながら理解できる解説書となる。本書を読みながら具体的なシーンを疑似体験すれば、GitHubの使い方の流れがスムーズに把握できる構成となっている。以下に内容を示す。

Web製作者のための GitHubの教科書
	はじめに
	GitHubでよく出てくる用語
	第1章 こんにちはGit、はじめましてGitHub
		1-1 とあるWeb制作の現場から
		1-2 ソーシャルコーディング時代のWeb制作
	第2章 これだけはマスターしたいGitHubの基本機能
		2-1 みんなで作業するのが楽しくなる! GitHubの特徴
		2-2 GitHubの画面構成
	第3章 実践! リポジトリの作成からcloneまで
		3-1 Gitのインストール
		3-2 GitHubアカウントを取得する
		3-3 UserアカウントとOrganizationアカウント
		3-4 リポジトリを作成する
		3-5 メンバーの管理
		3-6 ローカルにコピーする(cloneする)
		3-7 Gitでバージョン管理
		3-8 GitHubに変更を反映させよう
	第4章 実践! 複数デザインの提示から採用まで
		4-1 Issueを使ってデザインを提案する
		4-2 デザインの相談と修正をIssue上で共有する
	第5章 実践! Pull Requestを使った分担作業からマージまで
		5-1 Pull Requestとは?
		5-2 Pull Requestを使った共同作業
		5-3 Pull Requestを送るときに起こりがちなトラブルの対応
	第6章 快適に共同作業するためのドキュメント作成と進捗管理
		6-1 メンバーと対話しながら課題を解決できるIssue
		6-2 GitHub Markdown
		6-3 wiki
	第7章 現場で使える! 便利なGitHubテクニック
		7-1 LGTM! GitHub流コミュニケーション
		7-2 知らないと損! GitHubのテクニック
		7-3 目指せ上級者! GitHubの裏技

次に「エンジニアのためのGitの教科書 実践で使える!バージョン管理とチーム開発手法」がある。

本書は、Gitが実践で使えるようになるための本で、基本的な使い方はもちろん、分散型バージョン管理システムの仕組みを理解するところから、ブランチの設計・運用、継続的インテグレーションといった実践的なチーム開発手法まで解説しているものとなる。以下にその内容を示す。

エンジニアのためのGitの教科書  実践で使える!バージョン管理とチーム開発手法  株式会社リクルートテクノロジー
	CHAPTER-01:Gitとバージョン管理の基本
		01-01 バージョン管理の基本を知る
		01-02 Gitの基本概念を学ぶ
		01-03 Gitをインストールする
		01-04 Gitの基本コマンドを学ぶ
		01-05 Gitのコマンドをさらに使いこなす
		01-06 Gitの設定を行う
	CHAPTER-02:チーム開発の効率的な設計・運用
		02-01 チーム開発を知る
		02-02 チーム開発を実践する
		02-03 チームのバージョン管理の運用を設計する
		02-04 コミット運用ルールを設計する
		02-05 コードレビューを実践する
	CHAPTER-03:実践での使いこなしとリリース手法
		03-01 チーム開発における最適なブランチ運用とコード運用を知る
		03-02 Gitをとことん使いこなす
		03-03 継続的デリバリ

さらに上級者向けには「エンジニアのためのGitの教科書[上級編] Git内部の仕組みを理解する」がある。

Git を学んで、チーム運用や開発フローの設計をこなし、実際に運用をはじめてみると、思ってもみない問題に出くわす機会が増えてくる。チームメンバーが泣きついてきた問題は、大抵、解決するのにちょっとした工夫や、一捻りが必要な状況になってから相談されているケースがほとんどとなる。その時、最初に今の状態を把握して、その情報をもとに、解決するための低レベルなGit コマンドを調べたり、ブランチを駆使して履歴を基に戻せないか四苦八苦することになる。

今の状態を把握し、対策すべきポイントを洗い出す時に必要となるのが、Git のバージョン管理の内部構造を知ることで、普段なにげなく利用しているコマンドが内部的にどう動いているのか、データ構造はどうなっているのか。「なぜ」動いているのかを理解することで、あらゆる問題への対応への助走が格段に早くなる。また、ブランチの運用や普段のGit の運用が、内部の動きを頭に描きながら行うことで、格段に簡単に感じるようになる。以下にその内容を示す。

エンジニアのためのGitの教科書 [上級編] Git内部の仕組みを理解する
	Section01 gitのバージョン管理の仕組みを知る ~初級編~
	Section02 Gitのバージョン管理の仕組みを知る ~中級編~
	Section03 Gitのバージョン管理の仕組みを知る ~上級編~

コメント

タイトルとURLをコピーしました