.gitの中身

DeNAのエンジニアがエンジニアの素質はブラックボックスを徹底的に排除できる人と仰っていました。

そこで,.gitの中身を調べてみました。

ディレクトリとファイルがそれぞれ5つずつ格納されていました。

f:id:naegi82:20180710173314p:plain

一つずつ見ていきましょう。

1.COMMIT_EDITMSGファイル

コミットした際のメッセージ

2.configファイル

リモートリポジトリのURLなどが入っている

3.description

変更したらここにリポジトリ名が入る

4.HEAD

ref:refs/heads/master

このmasterに何が書いてあるかというと,refsディレクトリのheads中のmasterファイルをみると,844f1b6dd07952ddcfbcc926483dbb9f84a6341f

最初のリビジョンが書いてある。

作業しているブランチの先端

 

用語の確認

  • クローン:ローカル(自分のPC)にサーバのファイルをコピー
  • コミット:編集箇所の履歴を記録。反映
  • プル:サーバのファイルをローカルに反映
  • プッシュ:アップロード
  • プルリクエスト:変更した内容を他者のリポジトリへ、取り込み依頼をする
  • マージ:差分を精査し、複数履歴や新たな情報を統合
  • フェッチ:リモートの最新履歴の取得のみ行う、マージはしない
  • フォーク:中央リポジトリを自分のアカウントにコピー
  • インデックス:コミットするファイルを登録する場所
  • ステージ:コミット前に移動させる場所
  • ワーキングツリー:現在編集しているファイル
  • ブランチ:コミットの集まり。複数の作業履歴を並行して記録
  • ヘッド:現在編集中のブランチの頭、作業対象
  • チェックアウト:作業対象(ヘッド)を切り替える