git、誤認誘導的表現

  • ブランチ全体をマージせずに、特定コミットだけを取り込む

意味不明。マージは2つのコミット(のファイルツリー)に対する操作。「ブランチ全体をマージ」なんてない。が、おそらく「ブランチヘッドであるコミットを対象とするマージ」の意味だろう。「取り込む」がマージだとすると、マージすべきコミット(のファイルツリー)が違うだけで操作は同じ。

  • ブランチを削除する。

ブランチラベルを削除するだけ。ブランチ=ブランチラベル と解釈するなら間違いではないが、ブランチ=履歴=過去サブグラフ と解釈するなら間違い。

  • 直前のコミットを削除する。

revertなら、revertコミットを追記〈append〉している。「取り消す」ならマシ。

  • 直前のメッセージを書き換える。

amened では、amend用コミットを追記している。既存のコミットオブジェクトは書き換え不可。

  • ステージしたファイルを削除する

ステージしただけでオブジェクトはつくられる。削除できない。アクセスしにくい場所に存在する。

  • 歴史を改変する。

オブジェクトグラフは改変できない。追記しているだけ。

  • ブランチをチェックアウトする。

「チェックアウト」が曖昧で、スイッチとリストアに分ける。ブランチにスイッチするは、ブランチラベルが指すコミットをカレントコミットにすること。ノード集合としてのブランチは関係ない。

  • 変更をひとつにまとめる。

差分管理のイメージで、複数の差分をひとつの差分にする感じだが、差分管理してない。常にスナップショット。

コミットオブジェクト(を指すラベル)をブランチと呼ぶのが誤認誘導的になっている。追記やラベルの変更を、オブジェクトグラフの削除や変更のように表現するのも誤認誘導的。