2018-04-19 Git用語整理 Git まずはいつもどおり用語の整理から。当たり前だけどGitとGithubは全然違う。 Git 分散型バージョン管理システム。もともとLinuxカーネルのソースコード管理用に開発された。 分散型なのでソーシャルコーディングが可能。 GitHubを利用しなくてもGitの利用は可能。 GitHub Gitのホスティングサービス。 Web上のGitHub社のサーバ上にリモートリポジトリの作成ができる。 リポジトリの種類 リポジトリはファイルの貯蔵庫。 ローカルリポジトリ:各開発者が自分の開発環境で管理するリポジトリ。オフラインで作業を行い必要に応じてリモートリポジトリにpushする。 リモートリポジトリ:共用のリポジトリ。GitHubやローカルに作成したGitサーバが候補となる。 ブランチの種類 Gitでは必ずどこかのブランチ上で作業を行う。 統合ブランチ:いつでもリリース可能な状態のブランチ。そのため中途半端な状態で統合ブランチにコミットは行わない。通常はmasterブランチが該当する。 トピックブランチ:バグ修正や機能追加時に行う。機能追加時は追加する機能単位でトピックブランチを分岐させる。 作業ブランチ:現在のブランチ。カレントブランチとも。 リモートブランチ:ローカルリポジトリ内のリモートリポジトリのブランチ。ユーザはリモートブランチをカレントブランチにできない。origin/<ブランチ名>のように表示される。 HEAD関連 HEAD:カレントブランチの最新のコミット。@はHEADのエイリアス。 HEAD^:最新のコミットの1つ前のコミット。@^やHEAD~も同じ意味。 HEAD~{n} :n個前のコミット ワーキングツリー ワーキングツリー(ワークツリー):git管理下のディレクトリのこと。 インデックス (ステージングエリア):ワークツリーとリポジトリの中間領域(一時領域)。ワーキングツリー内のコミット対象のファイルを保存する。 インデックスが存在することにより、ワークツリー内からコミット対象となるファイルを選択することが可能となる。 ファイル変数〜add〜commitの概説 ファイル編集:ワークツリー内が変更される。 add:インデックスにコミット対象のファイルが登録される。 commit:HEADが1つ前にすすむ