Git master
独習Gitの要点抜粋
- 作業ディレクトリとは?→ローカルで新規作成&変更&削除を作業を行う場所。
- ステージングエリアとは?→作業ディレクトリの修正をコミット前に一時的に格納する場所。p22
- HEADとは?→単純にいえば、現在のブランチで自分が今見ているコミット p137
- git addとは?→作業ディレクトリの修正をステージングエリアに格納すること。
- ステージングエリアとリモート追跡ブランチは別物
- マージ操作が完了したら自動的にマージコミットが追加される。コミットログは自分で修正しなければGitが自動生成する。p181
- 親コミットへの参照が2つある状況について
- マージコミットは2つの親の内容を新しいコミットとして統合するから、親が2つある。p176
ただし、ファストフォワードマージの場合は、HEADの位置を移動するだけなので、親は1つのまま。p196 - リベースの場合は、上流に追いつくためと、複数コミットを一つにまとめるのが主だと思うが、その場合は親は1つのままのはず。p324
- リモート追跡ブランチとは?→リモートをローカルにミラーリング(コピー)しただけのもの→ p206
- リモートとは?→cloneコマンドによって作った複製リポジトリが持つ、複製元への参照(リファレンス)のこと。つまり、ローカルリポジトリに存在する。
- originとは?→複製元であるhoge.gitベアリポジトリを指し示すリモートの名前。
「自分の作業リポジトリが持つローカルな名前」にすぎないので、orgin以外に変更も可能。p222 - FETCH_HEADとは?→フェッチした中での最新のリモート追跡ブランチへのリファレンス。p275
- 自動的にコミットされるクリーンマージでは、Gitがコミットメッセージを作成してコミットする p283
- git rebaseというのは、リベース先ブランチの親をリベース元に変えるということ。
ただし、リベース先のオリジナルコミットのSHA1 IDが新しいものに更新される点は注意。 p323~324 - git reflogは「HEADが移動した場所」の履歴を表示する。p328
- gitにはいくつかのメジャーなワークフローがある。p343
- git merge –no-ff BRANCH
はBRANCHをカレントブランチにマージし、たとえfast-forwardであっても、マージコミットを作成する。
つまり、マージがあったことを明示的にコミットして残したいときに使うのかな?p347 - フォークとプルリクエストは、GitではなくGitHubの独自機能。
- フォークはGitHub上のベアリポジトリの複製と考えてよさそう。
- フォーク先からフォーク元に修正を反映するのが、プルリクエストらしいが、プルリクエストはブランチ先からブランチ元に修正を反映するケースでも使えるように見えるんだけど?
コメントを残す