目次
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やメールアドレスを一括して書き換える
- 操作ミスで参照できなくなってしまったコミットを復旧する
- 共同作業開始前の決めごととその運用