1.Gitとは?
ファイルのバージョン管理を行うもの。
リーナス・トーバルズ:Linuxを使った人
リポジトリ:スナップショットを記録(git commit)
ステージ:コミットする変更を準備(git add)
ワークツリー:ファイルを変更する作業場
コミット・・・スナップショットを記録すること
2.各種コマンドの裏で起こっていること。
2.1 git addコマンドの裏側で起こっていること。
例:index.htmlファイルをワークツリーで作成したとする。
git add index.htmlをすることによって、
リモートリポジトリでファイルの内容を圧縮して、圧縮ファイルAが作成される。
その後、ステージにindex.htmlと圧縮ファイルAとマッピングされている。
2.2 git commitコマンドの裏側で起こっていること。
マッピングされた情報がリモートリポジトリに保存される。
そのさい、ツリーというのが作られる。
ツリーが作られたら、その後そのツリーファイルに紐付けされているコミットファイルが作られる。
ツリーファイルにより、その時のスナップショットの状態がわかる。
2.3 git statusコマンドの裏で起こっていること。
例:ワークツリーとステージで変更されたものとリモートリポジトリとステージで変更された部分をみている。
コミットファイルに書かれていること。
- ツリー名
- 作成者
- 日付
- コミットメッセージ
わかりやすくコミットメッセージを書くこと。
2.4 git init は何をしているのか?
git init:
.git ディレクトリが作成され、gitに必要なファイルが生成される
プラスα:railsでは自動的に.gitが作られる
2.5.git cloneは何をしているのか?
git clone <リポジトリ名>
git cloneをすることによって、
- プロジェクトのファイル
- リモートリポジトリ
この2つがコピーされる
2.6 git statusは何をしているのか
git status
変更されたファイルを確認することができる
3.現在の変更状況を確認する
3.1コミットやステージに追加する前にどのファイルが変更されたかを確認する癖をつける
変更されたファイルを全てコミットしてしまうと、まだコミットするべきではなかったものまで変更してしまうから。
git statusで行うことができる。
3.2コミットやステージについてする前に、どんな変更したかを確認する
gitdiff コマンドを使用する
注意: git diffは git addする前の変更分を見ることができる。
もし、git addした後の変更分をみたい場合は、
git diff —stagedというオプションを追加すること。