Gitのノート(2)認知の取得


1.ほぼ全ての操作がローカルで実行されています

Gitリポジトリ内のすべての操作の大半は、専用アクセスローカルファイルおよびリソースに必要な
ネットワーク上の他のコンピュータから、一般的に必要のない情報を
ローカルディスク上のプロジェクトの完全な履歴を持っている
ので、ほとんどの操作は、瞬時に見えます

また、これは何のオフラインまたはVPNが存在しないことを意味し、あなたは、ほぼすべての操作を実行でき
ていないネットワークとして、あるいは貧困ネットワークとの場所では、いくつかの仕事をしたい、あなたはまだ喜んでネットワーク接続するまで、アップロードを提出することができます


の整合性を確保2.

でGitのチェックサム計算を格納する前にすべてのデータを、その後、確認し、参照するために
、この手段は、Gitは気づいていない時に変更することはできません任意のファイルやディレクトリの内容の

Gitリポジトリの下でのこの機能の建設、Gitの哲学が不可欠な部分を構成している
情報は、送信中にファイルを紛失または破損した場合、Gitのを見つけることができます

Gitの計算されたチェックサム機構が求められているSHA-1ハッシュ(ハッシュ、ハッシュ)
からなる40進数の文字(0-9およびAF)の文字列であります

24b9da6552252987aa493b52f8696cd6d3b00373

Gitのファイル内のコンテンツやディレクトリ構造に基づいて算出しました

Gitの多くの場合、そのようなハッシュ値、ハッシュ値は、多くの場合、これを見るでしょう
、実際にはGitのデータベース情報が保存され、インデックスにファイル内容のハッシュ値にむしろファイル名よりも、


むしろ比較の違いよりも3ダイレクト録音のスナップショット、

Gitの制御システムの他のバージョンとの間の主な違い:Gitの中へのデータの概念的アプローチアップ区別します

ファイルストアのリストに情報変更のほとんどは、他のシステム
の基本的なファイルのセットと、各ファイルのようなシステム(CVS、Subversionの、PERFORCEの、バザールなど)は、それらに情報が保存されます徐々に時間をかけて蓄積した違いが
ここに画像を挿入説明
見られることができ制御システムの他のバージョンである差分の元のバージョンと、各ファイルに格納されています

複数のファイルシステムの小さなスナップショットのグループとして見られたデータなどのGitリポジトリ(スナップショット
それぞれが、更新を提出、またはGitの中でプロジェクトを保存状態が時に
主にあるすべてのファイルのスナップショットを作成し、スナップショットのインデックスを保存するための時間に

効率的にするために、ファイルは、変更されていない場合は、ファイルを再保存もはやを
しかしポインティング前に、保存されたファイルへのリンクだけを保ちます

Gitのデータをよりようになりストリームのスナップショットスナップショットのストリーム

ここに画像を挿入説明
これは、Gitがされて見ることができるスナップショット時間の経過とともに変化したプロジェクトに保存されている
。これはGitのとほぼすべての他のバージョン管理システムである重要な違いは


4.通常のデータのみを追加

Gitの操作はほとんど行わGitのデータベースのデータを高めるために専用の
Gitの操作のいずれかの不可逆的な実装を行うことが困難であるか、どのような方法で作ることは明らかデータ

他のVCSと同様に
コミットされていない紛失または混乱変更されたコンテンツを、可能な更新

Gitのスナップショットに提出し一度しかし、データは、することは困難である、その後失われた
場合は特に話を別の倉庫への定期的なプッシュデータベース

セーブデータ深いGitリポジトリを探索し、失われたデータのトピックを回復する方法
を参照してくださいGitのノート(7)アンドゥアクション


三つの状態

这里很关键,很关键,很关键,重要事情说三遍

Gitは3つの状態があります。

  • (コミット)に提出されました:データが確実にローカルデータベースに保存されています
  • ファイルを変更しますが、データベースに保存されていない:修正(変更)
  • これは、(上演)ステージングされています:ファイルの現在のバージョンはマークを作るように修正して提出次のスナップショットに含まれているため

このようにGitプロジェクトの3つの作業領域の概念を導入します:

  • Gitのリポジトリ(作業ディレクトリ):ローカルメタデータとオブジェクトデータベースは、プロジェクト保存するために使用されている
    のGitの最も重要な部分であるときにデータがコピーされ、倉庫から他のコンピュータのクローン

  • 作業ディレクトリ(ステージング領域):独立から抽出されたプロジェクトのバージョンの内容は
    後で使用または変更のために、ディスク上のGitリポジトリファイルに圧縮されたデータベースから抽出されたこれらの

  • ステージングエリア(.gitディレクトリ):保存次のリスト情報提出するファイル
    は通常のGitレポジトリディレクトリ内のファイル、である、と呼ばれることもある「インデックス」

ここに画像を挿入説明
次のように基本的なGitのワークフローは次のとおりです。

  1. 作業ディレクトリのファイルを変更します
  2. 一時的にファイルにファイル、スナップショットについてステージングエリア
  3. 提出に永遠に、スナップショットを、ファイルの更新をステージング領域を見つけるのGitリポジトリのディレクトリ

Gitのディレクトリは、ファイルの特定のバージョンを保持している場合は、それが属するに提出された状態
の変更が行われたとステージング領域に配置されている場合は、それが属する一時的に持っている状態
最後のタイムアウト以来の、しかし一時的に変更されていません沈着領域であり、変性状態


6.コマンドライン

Gitのを使用する多くの方法があります。

  • ネイティブコマンドラインモード
  • GUI 模式

ここでは、コマンドラインモードを使用する
だけでは、コマンドラインモードでのGitのすべてのコマンドを実行することができますので、最初
とGUIソフトウエアのほとんどが唯一の操作の難しさを減らすために、すべての機能のGitのサブセットを実装します

あなたは、コマンドラインの操作方法を学べば
GUIソフトウエアを動作させる際にはいかなる困難が発生することはありませんので、
しかし、その逆はありません、


参考:gitの

上記は、gitの公式ウェブサイトによるとコンポーネントに削除や修正を導入しています


関連勧告:

Gitの注意事項(1)バージョン管理


ありがとう

公開された231元の記事 ウォンの賞賛299 ビュー294万+

おすすめ

転載: blog.csdn.net/qq_32618327/article/details/104239743