書籍概要

ポケットリファレンス

Git ポケットリファレンス

著者
発売日
更新日

概要

本書は,人気のバージョン管理システムGitの使い方について,目的別に紹介したリファレンス書です。Gitの書式や使い方から,エラーメッセージとその対処法まで詳しく紹介しており,初めてのユーザがGitを使うためのガイダンスとしてもお読みいただけるのはもちろん,現場の「困った」にも丁寧に応える内容です。さらにGitを拡張するサブコマンドの使い方,ブランチ・ディレクトリごとのアクセス制御,ソーシャルコーディングサービスGithubの使い方などの活用法も解説。現場でGitを利用する方の強い味方となる1冊です。

こんな方におすすめ

  • Gitを使い始めたが,初歩的な使い方しかしていない開発者
  • Subversion利用者でGitに関心がある方
  • Gitユーザ

目次

CHAPTER1 まずはGitを使ってみよう

Gitのインストール

  • WindowsへのGitのインストール
  • Git で日本語を扱うための設定
  • MacへのGitのインストール
  • LinuxへのGitのインストール
  • Gitの初期設定

はじめてのGit

  • Git の概要
  • ローカルリポジトリの作成
  • 編集内容をローカルリポジトリへ登録
  • 共有リポジトリとの同期
  • マージ

ブランチとマージ

  • ブランチの作成とマージ
  • Fast-forwardマージ
  • 複数コミットを1つにまとめるマージ
  • リベース

ブランチのプラクティス

  • 短期的に使用するブランチ
  • 長期的に使用するブランチ

CHAPTER 2 Gitリファレンス

  • Gitの設定を表示・変更する .............................................. config
  • Git リポジトリを初期化する ................................................... init
  • リポジトリを複製する ........................................................ clone
  • インデックスの内容を、リポジトリにコミットする ...........commit
  • インデックスに変更内容を登録する .......................................add
  • ファイルをバージョン管理から外す ........................................ rm
  • ファイルの名前を変更・移動する ...........................................mv
  • ファイルの状態を表示する ................................................ status
  • ファイルの変更やコミットをリセットする ........................... reset
  • コミットの内容を取り消すコミットを実行 .......................... revert
  • バージョン管理外のファイルを削除する ............................. clean
  • リモートリポジトリの変更を取得しマージする ....................... pull
  • リモートリポジトリの変更を取得する .................................. fetch
  • 共有リポジトリに変更を送信する ........................................ push
  • リモートリポジトリを設定する ........................................ remote
  • 直接通信できないリポジトリと同期をとる ........................ bundle
  • ブランチを操作する ......................................................... branch
  • 作業ツリーを切り替える ............................................... checkout
  • ブランチの状態を把握する ...................................... show-branch
  • コミットにタグを設定する .....................................................tag
  • 一番最近のタグからのコミット情報を表示する ................describe
  • 配布用のアーカイブファイルを作成する ...........................archive
  • 他のブランチの変更内容をマージする ................................merge
  • 外部ツールを使って競合を解決する ..............................mergetool
  • コミット履歴を変更する .................................................. rebase
  • 他のブランチのコミットを取り込む ............................ cherry-pick
  • ブランチの履歴を表示する ..................................................... log
  • コミットや作業ツリーとの差分を表示する ..............................diff
  • コミットの差分・ファイルの内容を表示する ........................show
  • ファイルの各行の変更履歴を確認する ................................ blame
  • リポジトリの操作履歴を確認する ....................................... reflog
  • リポジトリを検索する ..........................................................grep
  • コミットに注釈を付ける .................................................... notes
  • メール送信可能な形式のパッチファイルを作成する ...format-patch
  • パッチを作業ツリーに適用する .......................................... apply
  • メール形式のパッチからコミットを作成する ...........................am
  • ヘルプでコマンドを調べる ................................................... help
  • 作業を一時的に保存する .................................................... stash
  • Git リポジトリの中に他のGitリポジトリを取り込む .... submodule
  • SubversionのリポジトリをGitで操作する ............................ svn
  • Git リポジトリを最適化する ....................................................gc
  • Git リポジトリを検査する .................................................... fsck
  • HTTPでアクセスするための情報を更新する .....update-server-info

CHAPTER 3 活用編

ALMiniumを使ってWebで手軽に共有リポジトリを管理する

  • ALMiniumとは?
  • インストール
  • リポジトリの作成
  • ユーザ管理とアクセス権
  • リポジトリの操作
  • ブランチの作業とチケットを対応付ける

Gitoliteでブランチ・ディレクトリごとにアクセス制御できる共有リポジトリを作る

  • Git リポジトリを管理するGitolite
  • Gitoliteの概要
  • 管理者ユーザの準備
  • リポジトリサーバのセットアップ
  • Gitリポジトリの使い方
  • ユーザの登録
  • 新しいリポジトリの作成
  • リポジトリのアクセス権の設定

フックによるコミット・プッシュ前後に処理をはさみ込む

  • コミットに関するもの
  • プッシュに関するもの
  • その他
  • フックスクリプトの注意点

リポジトリの更新内容をメールで共有する

  • 準備
  • 送信メッセージの例
  • トラブルシュート

GUIや統合開発環境でGitを利用する

  • WindowsでのGitのGUI環境
  • 統合開発環境で利用するGit

ソーシャルコーディングを実現するGitHub

  • GitHubの主な機能
  • プルリクエストの使い方
  • 逆引き索引
  • 索引

COLUMN

  • 無視ファイルの設定
  • ローカルリポジトリから共有リポジトリを作成する
  • トピックブランチの定義
  • Daily Build
  • エディタで設定編集
  • コミットの修正
  • 空ディレクトリの登録
  • Windows環境でのファイルの実行権限
  • git rmで誤ってファイルを削除した
  • ファイルを作業ツリーに残したままバージョン管理から外す
  • リポジトリからファイルを完全削除する
  • git resetとgit rmの違い
  • git reset --hard自体を取り消したい
  • 日本語ファイルに対する誤動作
  • .gitignoreでファイルをGitの対象外にする
  • git reset --hardとの関係
  • デフォルトリモートブランチの設定
  • fetchとpullの違い
  • git pushでリモートリポジトリ名、リモートブランチ名を省略したい
  • ローカルブランチ、リモート追跡ブランチ、リモートブランチ
  • git logの範囲指定による増分の指定
  • 共有リポジトリ上のブランチとタグの削除の防止
  • detached HEAD
  • タグ名のルール
  • アーカイブ作成用の設定(.gitattributesファイル)
  • 設定が不要な外部ツール
  • お勧めの外部ツール
  • バックアップファイル(*.orig)を作成しない
  • 過去のコミットのコミットメッセージを修正する
  • コミットのAuthorやメールアドレスを一括して書き換える
  • 操作ミスで参照できなくなってしまったコミットを復旧する
  • 共同作業開始前の決めごととその運用

サポート

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2013年3月25日更新)

「Git作業フロー&コマンド チートシート」下部

「Git作業フロー&コマンド チートシート」右下「リビジョンにタグを付ける」

$ git  tag v1.0
$ git tag v1.0

P.28 「競合の発生」

P.33 「マージコミット」の図

P.35 「強制的にマージコミットを作成」の図

P.67 「2.実行権限の変更」のコマンド

git updade-index --chmod=+x run.sh
git update-index --chmod=+x run.sh

P.129 「アーカイブ対象の限定」

HEAD、src、READMEだけをアーカイブに含めています。
src、READMEだけをアーカイブに含めています。

P.145 「分岐元のコミットを変更」

$ git rebase master new_feature
$ git rebase master new_feature1

P.163 「片方のブランチにしかないコミットを表示する

P.176 --and,--or,--not

検索パターンの前には前述の-eオプションが必要となる。
検索パターンの前には後述の-eオプションが必要となる。

P.180 「git notes show [<commit>]

HEADに付けられた注釈の内容を削除します。
HEADに付けられた注釈の内容を表示します。

P.203 git svn dcommit [--interactive]

Gitリポジトリの現在のブランチに加えられた更新をSubversionリポジトリに反映します。
Subversionリポジトリにブランチやタグを作成します。作成したブランチやタグはGitリポジトリではリモート追跡ブランチとして管理されます。

P.241 「updateフック」

例えばupdate.sampleフックのデフォルトではブランチの作成を拒否するようになっていますが、ブランチの作成を許可するには次のようにします。
例えばupdate.sampleフックのデフォルトではブランチの作成を許可するようになっていますが、ブランチの作成を拒否するには次のようにします。

P.244 「post-receiveファイルの準備」

また、最後の行をコメントアウトして、メール送信~
また、最後の行のコメントアウトを外して、メール送信~

P.249 「送信メッセージの例」

@@ -52,7 +52,6 @@ Git Branch Hook| Gitのブランチでの作業をチケットに連動させま
@@ -52,7 +52,6 @@ Git Branch Hook| Gitのブランチでの作業をチケットに連動させま

商品一覧