ホームページ >php教程 >PHP开发 >Gitチュートリアルのワークスペース、ステージングエリア、リポジトリの詳細説明

Gitチュートリアルのワークスペース、ステージングエリア、リポジトリの詳細説明

黄舟
黄舟オリジナル
2016-12-16 14:48:171173ブラウズ

Git ワークスペース、ステージング エリア、リポジトリ

基本概念

まずは Git ワークスペース、ステージング エリア、リポジトリの概念を理解しましょう

ワークスペース: コンピューター上に表示されるものです 目次.
一時保管場所:英語でステージと呼ばれ、 またはインデックス。通常は「gitディレクトリ」配下のインデックスファイル(.git/index)に保存されるため、一時保存領域のことをインデックス(インデックス)と呼ぶこともあります。
リポジトリ: ワークスペースに隠しディレクトリ .git があります。これはワークスペースではなく、Git リポジトリです。

次の図は、ワークスペース、リポジトリ内のステージング領域、およびリポジトリの関係を示しています:

Gitチュートリアルのワークスペース、ステージングエリア、リポジトリの詳細説明

図の左側はワークスペース、右側はリポジトリです。リポジトリ内の「index」とマークされた領域がステージング領域(ステージ、インデックス)であり、「master」とマークされた領域がマスターです。 ブランチによって表されるディレクトリ ツリー。

この図では、「HEAD」が実際には master ブランチを指す「カーソル」であることがわかります。したがって、図に示されているコマンドに HEAD が表示されている場所では、master を使用できます。 交換する。

写真内のオブジェクトで識別される領域は Git オブジェクト ライブラリで、実際には「.git/objects」にあります。 ディレクトリには、作成されたさまざまなオブジェクトとコンテンツが含まれます。
ワークスペースで変更(または追加)されたファイルに対して「git add」を実行する場合 コマンドを実行すると、ステージング領域のディレクトリ ツリーが更新され、同時にワークスペースで変更 (または追加) されたファイルの内容がオブジェクト ライブラリの新しいオブジェクトに書き込まれ、その ID がオブジェクト ライブラリの新しいオブジェクトに書き込まれます。オブジェクトはファイルのインデックス作成に記録されます。

コミット操作 (git commit) が実行されると、ステージング領域のディレクトリ ツリーがバージョン ライブラリ (オブジェクト ライブラリ) に書き込まれ、それに応じて master ブランチが更新されます。つまりマスター 指すディレクトリツリーは、送信時の一時記憶領域のディレクトリツリーです。

「git replace HEAD」コマンドを実行すると、ステージング領域のディレクトリツリーが書き換えられ、masterブランチが指すディレクトリツリーに置き換えられますが、ワークスペースには影響ありません。

「git rm --cached 」コマンドを実行すると、ファイルはステージング領域から直接削除され、ワー​​クスペースは変更されません。

「git checkout .」または「git checkout -- 」を実行する場合 コマンドを実行すると、ワークスペース内のファイルがステージング領域内のすべてのファイルまたは指定されたファイルに置き換えられます。この操作は危険であり、ステージング領域に追加されていないワークスペース内の変更が消去されます。

「git checkout HEAD .」または「git checkout HEAD 」コマンドを実行すると、HEADが指すポイントが使用されます マスター ブランチ内のファイルのすべてまたは一部が、ステージング領域およびワークスペース内のファイルを置き換えます。このコマンドは、ワークスペース内のコミットされていない変更をクリアするだけでなく、ステージング領域内のコミットされていない変更もクリアするため、非常に危険です。

上記は、Git チュートリアルのワークスペース、一時保存領域、リポジトリの詳細な説明です。その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。