takenoko03の日記

PHP言語で仕事する

Gitの仕組み おまけ:ターミナル頻出コマンド

 Gitがバージョンを、どのように記録するのか

Gitはファイルの塊でスナップショットを記録する。

青で囲んでいるものがバージョン1のスナップショットを記録したもの。

変更があれば、変更箇所だけを変えてバージョン2として、スナップショットを記録します。

 メリット

・コミット(後に説明する)をたどることで以前の状態に戻せる。

・複数人での作業スピードが上がる。

 

 Gitの操作の流れ(自分)

1.ローカルでスナップショットを記録する。

2.Githubへ保存する。

 Gitの操作の流れ(公開されているファイルをコピーする)

 ローカルは3つのエリアに分かれている

ステージは、変更前または変更済みだけの情報を記録しています。

これによって、多くのファイルの中から一部だけ変更したい場合にも対応できます。

 

 Gitコマンドは何をしているのか(イメージです)

 

・コミットする場合=スナップショットを記録する場合

インデックスとツリーが、同じ内容でも別ファイルな理由は、多くのファイルから一部だけコミット出来るようにするためです。(作業スピードを早く)

 

・新しいファイルを追加する 青文字が新しいファイル

コミット2の中にある、親コミット1を利用すれば変更される前の状態に戻れ

ます。

 

・ファイルを更新する

 Gitのデータ構造まとめ

リポジトリに「圧縮ファイル」「ツリー」「コミット」ファイルを作成することでデータを保存しています。

・コミットが親コミットを持つことで変更履歴をたどれます。

・Gitの本質はデータを圧縮して、スナップショットで保存していることです。

・Gitのコマンドは、そのデータに対して色々な操作をしています。

 

 おまけ:ターミナル(筆者の場合はBitBush)頻出コマンド

・cd ~:ディレクトリ(ファイル)を移動する。

・ls ~:ディレクトリの内容を表示する。

・mkdir ~:ディレクトリを新規作成します。

・rm ~:ファイルを削除します。

・cp ~:ファイルをコピーします。

・mv ~:ファイルの移動とファイル名の変更をします。

・cat ~:ファイルの中身を表示します。