- 
  
1. 使い始める
- 1.1 バージョン管理に関して
 - 1.2 Git略史
 - 1.3 Gitの基本
 - 1.4 コマンドライン
 - 1.5 Gitのインストール
 - 1.6 最初のGitの構成
 - 1.7 ヘルプを見る
 - 1.8 まとめ
 
 - 
  
2. Git の基本
- 2.1 Git リポジトリの取得
 - 2.2 変更内容のリポジトリへの記録
 - 2.3 コミット履歴の閲覧
 - 2.4 作業のやり直し
 - 2.5 リモートでの作業
 - 2.6 タグ
 - 2.7 Git エイリアス
 - 2.8 まとめ
 
 - 
  
3. Git のブランチ機能
- 3.1 ブランチとは
 - 3.2 ブランチとマージの基本
 - 3.3 ブランチの管理
 - 3.4 ブランチでの作業の流れ
 - 3.5 リモートブランチ
 - 3.6 リベース
 - 3.7 まとめ
 
 - 
  
4. Gitサーバー
- 4.1 プロトコル
 - 4.2 サーバー用の Git の取得
 - 4.3 SSH 公開鍵の作成
 - 4.4 サーバーのセットアップ
 - 4.5 Git デーモン
 - 4.6 Smart HTTP
 - 4.7 GitWeb
 - 4.8 GitLab
 - 4.9 サードパーティによる Git ホスティング
 - 4.10 まとめ
 
 - 
  
5. Git での分散作業
- 5.1 分散作業の流れ
 - 5.2 プロジェクトへの貢献
 - 5.3 プロジェクトの運営
 - 5.4 まとめ
 
 
- 
  
6. GitHub
- 6.1 アカウントの準備と設定
 - 6.2 プロジェクトへの貢献
 - 6.3 プロジェクトのメンテナンス
 - 6.4 組織の管理
 - 6.5 スクリプトによる GitHub の操作
 - 6.6 まとめ
 
 - 
  
7. Git のさまざまなツール
- 7.1 リビジョンの選択
 - 7.2 対話的なステージング
 - 7.3 作業の隠しかたと消しかた
 - 7.4 作業内容への署名
 - 7.5 検索
 - 7.6 歴史の書き換え
 - 7.7 リセットコマンド詳説
 - 7.8 高度なマージ手法
 - 7.9 Rerere
 - 7.10 Git によるデバッグ
 - 7.11 サブモジュール
 - 7.12 バンドルファイルの作成
 - 7.13 Git オブジェクトの置き換え
 - 7.14 認証情報の保存
 - 7.15 まとめ
 
 - 
  
8. Git のカスタマイズ
- 8.1 Git の設定
 - 8.2 Git の属性
 - 8.3 Git フック
 - 8.4 Git ポリシーの実施例
 - 8.5 まとめ
 
 - 
  
9. Gitとその他のシステムの連携
- 9.1 Git をクライアントとして使用する
 - 9.2 Git へ移行する
 - 9.3 まとめ
 
 - 
  
10. Gitの内側
- 10.1 配管(Plumbing)と磁器(Porcelain)
 - 10.2 Gitオブジェクト
 - 10.3 Gitの参照
 - 10.4 Packfile
 - 10.5 Refspec
 - 10.6 転送プロトコル
 - 10.7 メンテナンスとデータリカバリ
 - 10.8 環境変数
 - 10.9 まとめ
 
 
- 
  
A1. 付録 A: その他の環境でのGit
- A1.1 グラフィカルインタフェース
 - A1.2 Visual StudioでGitを使う
 - A1.3 EclipseでGitを使う
 - A1.4 BashでGitを使う
 - A1.5 ZshでGitを使う
 - A1.6 PowershellでGitを使う
 - A1.7 まとめ
 
 - 
  
A2. 付録 B: Gitをあなたのアプリケーションに組み込む
- A2.1 Gitのコマンドラインツールを使う方法
 - A2.2 Libgit2を使う方法
 - A2.3 JGit
 
 - 
  
A3. 付録 C: Gitのコマンド
- A3.1 セットアップと設定
 - A3.2 プロジェクトの取得と作成
 - A3.3 基本的なスナップショット
 - A3.4 ブランチとマージ
 - A3.5 プロジェクトの共有とアップデート
 - A3.6 検査と比較
 - A3.7 デバッグ
 - A3.8 パッチの適用
 - A3.9 メール
 - A3.10 外部システム
 - A3.11 システム管理
 - A3.12 配管コマンド
 
 
1.6 使い始める - 最初のGitの構成
最初のGitの構成
今や、Gitがシステムにあります。Git環境をカスタマイズするためにしたい事が少しはあることでしょう。 どんなコンピューターであれ、その作業は一度だけ行えばいいでしょう。Gitをアップグレードしても設定は引き継がれるからです。 またそれらは、またコマンドを実行することによっていつでも変更することができます。
Gitには、git config と呼ばれるツールが付属します。これで、どのようにGitが見えて機能するかの全ての面を制御できる設定変数を取得し、設定することができます。
これらの変数は三つの異なる場所に格納されうります:
- 
/etc/gitconfigファイル: システム上の全てのユーザーと全てのリポジトリに対する設定値を保持します。 もし--systemオプションをgit configに指定すると、明確にこのファイルに読み書きを行ないます。 - 
~/.gitconfigか~/.config/git/configファイル: 特定のユーザーに対する設定値を保持します。--globalオプションを指定することで、Gitに、明確にこのファイルに読み書きを行なわせることができます。 - 
現在使っているリポジトリのGitディレクトリにある
configファイル(.git/configのことです): 特定の単一リポジトリに対する設定値を保持します。 
それぞれのレベルの値は以前のレベルの値を上書きするため、.git/config の中の設定値は /etc/gitconfig の設定値よりも優先されます。
Windowsの場合、Gitはまず $HOME ディレクトリ(通常は C:\Users\$USER です。)にある .gitconfig ファイルを検索します。
また、/etc/gitconfig も他のシステムと同様に検索されます。ただし、実際に検索される場所は、MSysのルート(Gitのインストーラーを実行した際に指定したパス。)からの相対パスになります。
さらに、Git for Windows 2.x以降を使っている場合は、システム全体で有効な設定ファイルも検索されます。Windows XPであれば C:\Documents and Settings\All Users\Application Data\Git\config、Windows Vista以降であれば C:\ProgramData\Git\config です。
なお、検索される設定ファイルは、管理者権限で git config -f <file> を実行すれば変更できます。
個人の識別情報
Gitをインストールしたときに最初にすべきことは、ユーザー名とEmailアドレスを設定することです。 全てのGitのコミットはこの情報を用いるため、これは重要で、作成するコミットに永続的に焼き付けられます:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
また、もし --global オプションを指定するのであれば、Gitはその後、そのシステム上で行なう(訳者注:あるユーザーの)全ての操作に対して常にこの情報を使うようになるため、この操作を行なう必要はたった一度だけです。
もし、違う名前とEmailアドレスを特定のプロジェクトで上書きしたいのであれば、そのプロジェクトの(訳者注:Gitディレクトリの)中で、--global オプション無しでこのコマンドを実行することができます。
GUIのツールの場合、初めて起動した際にこの作業を行うよう促されることが多いようです。
エディター
個人の識別情報が設定できたので、Gitがメッセージのタイプをさせる必要があるときに使う、標準のテキストエディターを設定できます。 これが設定されていない場合、Gitはシステムのデフォルトエディターを使います。 Emacsのような違うテキストエディターを使いたい場合は、次のようにします:
$ git config --global core.editor emacs
また、Windowsで違うエディタ(Notepad++など)を使いたいのなら、以下のように設定してみてください。
32bit版Windowsの場合
$ git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -nosession"
64bit版Windowsの場合
$ git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -nosession"
| 
 注記 
 | 
 Vim、Emacs、Notepad++は人気があり、LinuxやMacのようなUnixベースのシステムやWindowsのシステム使う開発者たちに特によく使われています。 それらのエディターをあまり知らない場合は、好みのエディターをGitで使うにはどうすればいいか、個別に調べる必要があるかもしれません。  | 
| 
 警告 
 | 
 Git用のエディターを設定していなくて、Gitを使っている最中にそれらが立ち上がって困惑することになってしまうでしょう。 特にWindowsの場合、Gitを操作する過程でのテキスト編集を中断してしまうと、やっかいなことになることがあります。  | 
設定の確認
設定を確認したい場合は、その時点でGitが見つけられる全ての設定を一覧するコマンドである git config --list を使う事ができます:
$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
Gitは異なったファイル(例えば /etc/gitconfig と ~/.gitconfig )から同一のキーを読み込むため、同一のキーを1度以上見ることになるでしょう。この場合、Gitは見つけたそれぞれ同一のキーに対して最後の値を用います。
また、Gitに設定されている特定のキーの値を、git config <key> とタイプすることで確認することができます:
$ git config user.name
John Doe