LoginSignup
1
1

More than 1 year has passed since last update.

【備忘録】Gitの基本 4月3週

Last updated at Posted at 2022-05-01

初心者です。間違いに気付いたら適宜直し、書ききれなかったことは加筆もしていきます。

Gitとは

ファイルのバージョン管理システムのこと。
GitHubは、自分のGitの内容をサーバ上で預かってくれるサービス
※GitHubのほかにも類似したサービスにBitbucketなどがある

Gitの仕組み

まず個人の環境(ローカルな環境)の中に、

ワークツリー:作業している場所(ディレクトリ)
ステージ:リポジトリの前段階
リポジトリ:ワークツリー内のファイルを圧縮したファイルやコミットの履歴などを入れておく場所

がある。これらすべてローカルの話。

add と commit

Gitでは、addによって作業場(ワークツリー)の内容をステージ内に保存し、commitでリポジトリに正式なコミット(変更)として保存する

具体的には、

git addによって、ワークツリーのファイルすべてを圧縮してリポジトリに格納し、さらに、ステージにインデックスを作成する
インデックスには、圧縮ファイルとワークツリーのファイルが格納されている
※ワークツリーのファイルすべてを保存(スナップショット)しているのは、変更履歴を行き来するときに差分を保存するよりも動作が早くなるから

git commitによって、リポジトリの中にツリーを作成(インデックスのコピー)し、コミットを作成する
コミットには、「ツリーへのリンク」「作成者」「日付」「コメント」「親コミットへのリンク」の情報が格納されている

ここで、リポジトリ内にある「圧縮ファイル」「ツリー」「コミット」をGitオブジェクトといい、これらは.git/objects内に格納されている

コミットは親コミットとつながっている

コミットに格納されている「親コミットへのリンク」がとても重要で、これによって変更履歴を追うことができる

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1