git memo

コードの保持される場所

  1. 作業ツリー
  2. ステージングエリア
  3. リポジトリ

git add

ステージングエリアに追加

-i

対話モード

-p

パッチモード

git commit

リポジトリの履歴に変更を追加し、名前をつける

-m
  1. $ git add some-file $$ git commit -m "message"
  2. git commit -m "message" -a
  3. git commit -m "message" some-file

git status

コミット待ちの状態だけでなく、現在の作業ツリーがリポジトリで追跡されてるものと比べてどう違うかも表示される

git diff

パラメータなし

ステージもコミットもしていない作業ツリーの変更が表示

--cached

ステージングエリアとリポジトリ間の差分表示

HEAD

作業ツリーにあるすべてをリポジトリ上にあるものと比較
HEAD…現在作業しているブランチに対する直近のコミットを表すキーワード

git mv file1 file2

git cpはない。gitはファイルを追跡しているのではなく、コンテンツ(変数や関数を形作る個々の文字や行)を追跡