commitとだいたい等価。gitはコミット前にadd(ステージング)が必要。HEAD履歴を確認できる。revertのようなもの。ステージングしていない変更の取り消し。ポインタを前に進めるだけ。変更をワーキングツリーに適用する。マージもコミットもしない。ブランチ上での履歴は無くなる。[ToDo]mergeは二本に分かれた枝を一本に合わせる。これでブランチはサーバーから消えてしまいました。指す先から作業を開始するためのローカルブランチができあがりました。cloneすると自動的に追跡ブランチする。pullが動作する理由。mergeではなくrebaseします。したローカルの変更がある場合にリモートブランチを削除しても、別の場所してクローンされてるとずっと残る。追加は自動だけど削除は自動でしてくれない。updateサブモジュールはあるポイントしか見ない!!親プロジェクトはそのポイントを記録する問題点。svnからgitリポジトリを作成。コミットできたらgit-svn-id属性が付く。できなかったのでコミットID見たら、違うIDになってた...。)空のディレクトリはバージョン管理できない.gitignoreとか何でもいいから空ファイルを作成すればOK。複数のモジュールを含むSubversionリポジトリをGitへ移行する。パスを指定すればどの階層でもワーキングコピーを作成できる。すると今までの履歴含め、全てをコピーしなければならない。プロジェクト/モジュールごとにリポジトリを作成するのがベストだろう。ディレクトリ同士のマージができない。これはどうにもできないかも。tagsSubversionはディレクトリ構造として表現Gitはbranchesとtagsが別のシステムになっている。\-----Bmergeはブランチの履歴を残して一本にするけど、rebaseすると履歴も含めて一本に作り直す。そのためrebaseは注意が必要。コミットの圧縮マージするときにひとつのコミットにまとめる。(後述)すでにコミットしたものを操作する。head^^するとエディターが開かれる。...この行を修正して保存することで、指示通りにrebaseが行われる。コマンドはコメントに書かれてある。保存後にrebaseが走るので、その時にコミットメッセージを変更するエディタが走る。した中でのコメントを変更するのではない。amendするためにストップする?よくわからん。一つ前のコミットと結合する。コミットメッセージはrebaseで選択する。一つ前のコミットと結合する。コミットメッセージは前のが使われる。shellを走らせるらしい。行を消すとそのコミットが失われる。全部消すとrebaseは中止になる。