gitの基本知識について(初心者用)
どうもどハマりエンジニアです。
本日はgitの基本的な知識についてアウトプットしていきます。
・リポジトリとは
リポジトリとはファイルの変更履歴をためておく「貯蔵庫」のようなもので、いくつでも作成することができる。
git init で作成することができ、「.git]という名前のディレクトリのこと。この「.git」ディレクトリの中にリポジトリの情報が全て詰まっている。
・リビジョン(コミットログ)とは
リポジトリに溜めていく変更履歴のことを「リビジョン」という。
ブランチとは
リポジトリの中に直接リビジョンを溜め込んでいるわけではなく、コミットログはリポジトリが持っている「ブランチ」に紐づけて管理されている。リポジトリを作ったばかりの状態だと「master」ブランチがデフォルトで指定されている。このブランチを切り替えることで、リビジョンも一緒に切り替わる仕組みになっている。
コミットとは
コミットとはファイルの追加や修正、削除などの情報を「コミットメッセージ」とともにリポジトリに送ることです。リポジトリにリビジョンを作成するためには、コミットする必要がある。コミットメッセージは、ファイルの変更点などをメモとして残すために記述する。
インデックス(ステージングエリア)とは
インデックスとは、コミットの対象となるファイルを置いておく場所のこと。インデックスを登録するにはアドを実行する。つまりアドされたファイルしか、コミットすることは出来ないということ。
git add -A → git commit "メッセージ"
ローカルリポジトリとリモートリポジトリについて
ローカルリポジトリは、自分のパソコンなどでバージョン管理するため、ローカル環境にリポジトリが存在する。
リモートリポジトリは複数人がもつ、ローカルリポジトリの内容を共有できるよう、リモート環境にリポジトリが存在する。
プッシュとは
ローカルリポジトリの情報をリモートリポジトリに反映させたい時にプッシュを使う。
ワーキングディレクトリで指定しているブランチ情報をそのままリモートリポジトリの指定ブランチに反映させることができる。ポイントは「ブランチ単位で反映」
プルとは
リモートリポジトリの情報をローカルリポジトリに取り組みたい時は、プルを使う。
実際には、「フェッチ」と「マージ」という二つの処理を行っている。
フェッチとはリモートリポジトリの情報をローカルリポジトリに取り込む。
マージとは取り込んだリモートリポジトリのブランチ情報をローカルブランチに反映させる。
つまりプルをするとワーキングディレクトリが更新されるということ。
ローカルリポジトリのmasterブランチでプッシュをするとリモートリポジトリ上のmasterブランチが更新される。複数人で開発する際は気を付ける!(考え方としてあっているのかな?)笑