Git理論-ワークフロー-共通コマンド

Gitの概念と環境のインストール

1. Gitの概要

  • そしてLinux Git Linus Torvalds(Linus Benedic Torvalds)の父1969年、フィンランド

  • Gitは現在、世界で最も先進的な分散バージョン管理システムです。

  • Gitは無料でオープンソースです

  • Gitは当初、LinuxカーネルがBitKeeperを置き換えるのを支援するために開発されました


2. Git環境のセットアップ

環境インストール:

  • ダウンロード:https://git-scm.com/ダウンロードをクリックして、ご使用のコンピューターのバージョンを選択します。

  • インストール:Git-2.28.0-64-bit.exeをダブルクリックしてインストールします。

  • Gitソースコード:https://github.com/git/git/

  • Git GUI:TortoiseGit、サードパーティのgit用グラフィカルツール(小さなカメ、色で区別できる、ファイルの変更、送信など)。インストール後、コンピューターを再起動してシンボルを作成する必要があります。

ここに画像の説明を挿入

注:ディレクトリに漢字、スペース、できれば単語と数字を含めることはできませんTortoiseGitタートルクライアントをインストールできます。これは非常にスムーズです。

インストール後:マウスの右ボタンにGitとTortoiseGitのオプションがあり、インストールは成功しました

[外部リンク画像の転送に失敗しました。ソースサイトにアンチリーチリンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-aJCxiN2W-1600085553501)(E:\ Typora File \ image-20200914193201121.png)]

バージョン管理の概念

1.バックアップと復元

  • バックアップ:現在のデータのコピーを作成

  • 復元(restore):現在のデータを以前のコピーのデータで上書きします(他の人のために購入)
    ここに画像の説明を挿入

2.比較:2つのデータの違いを比較(比較/差分)

  • 全体の比較:ハッシュ値の比較(ツール:ハッシュ検証ツール)

      ハッシュ値は、ダイジェストアルゴリズム(md5、sha-1、sha-256、crcなどのダイジェストアルゴリズム)を呼び出して機能コードを生成し、機能コードを使用して2つのファイルが同じかどうかを比較します。

       SHA1アルゴリズム:固定長の比較(取得されたハッシュコード値は同じで、ファイルの内容は同じです)

  • 詳細な比較:(行ごとの比較)

       比較4を超えて:テキスト比較ツール、テキストコンテンツを1行ずつ比較

3.ブランチ

すべての現在のデータの「より大きな」コピー   を作成すること、すべての現在のデータの複数のコピーを作成することであり、その後、複数の人が同時に開発できます。

  • 元のコピーに干渉しません

  • ブランチは同じで、現在のデータのデフォルトのブランチマスター(マスターブランチ)

  • ブランチの重要性:チームの効率を向上させる

4.合併

  2つのデータの違いを比較することにより、ターゲットデータと現在のデータが結合され、新しいデータが生成されます。(マージは上書きではありません。元のベースに追加するとマージされ、同じ変更を判断する必要があります)

  アプリケーション:他のブランチのデータをメインブランチに結合します(メインブランチは開発されず、通常はマージに使用され、開発データはメインブランチに追加されます)。

  競合:データの2つ(複数コピー)、同じ位置が変更され、単純に上書きして置き換えることはできません。実際の状況に従ってマージします(後で変更するためにすべて保存されます)


##一元化および分散

1.集中型および分散型

  • ローカルバージョン管理(個人使用、チームコラボレーションなし)

  • 一元化されたバージョン管理(チームが使用、データはサーバー上にあり、オフラインで作業できない、操作はネットワークを経由し、データの書き込みとサーバーからの読み取りを続行します。サーバーはより大きなプレッシャーになります)-SVNは一元化されたバージョン管理システムの代表です

  • 分散バージョン管理(チームの使用、データは各ユーザーにローカルであり、オフラインで作業でき、Git担当者はサーバーからデータを読み取ることができ、ユーザーはデータを操作することもできます)[サーバー側のウェアハウスとローカルウェアハウス-サーバー、ローカルがありますすべてのデータ] -Git、最先端の分散管理システム

2. GitとSVNの違い

  • SVNは集中型バージョン管理システムの代表です

  • Gitの利点(分散型の利点):Gitは、高効率(チームコラボレーション)、オフライン作業、低いサーバープレッシャー、簡単なマージなどの利点を持つ分散バージョン管理システムです。


Gitの使用プロセス

ここに画像の説明を挿入

  • ワークスペース:ワークスペース(コードを記述する場所)

  • インデックス:一時記憶域(複数のファイルシートをローカルライブラリに一度に送信)

  • リポジトリ:ローカルリポジトリ:送信されたすべてのバージョンデータ

  • リモート:リモートライブラリ、コードのホストに使用されるサーバー

  (上記のadd / commt / push / pullコマンドを使用して、場所xxから場所xxにデータを送信/取得します)

Gitワークフロー

  1. 作業ディレクトリでファイルを追加および変更します。

  2. ファイルを一時記憶域に入れる; git addコマンド(git add.すべてのファイルを一時記憶域に追加する)

  3. ステージング領域のファイルをローカルライブラリに送信します。git commit

  4. ローカルライブラリファイルをリモートライブラリに送信して、サーバーホスティングを実現します。git push

作業ディレクトリ内のすべてのファイルは、最初に一時ストレージ領域に送信され、次にローカルライブラリに送信されます(一時ストレージ領域を空にします)。これは、git送信では一度に1つのファイルしか送信できないため、最初に一時ストレージ領域に配置され、ローカルに送信されるためです。図書館。次に、ローカルライブラリがリモートライブラリに送信されます

Gitの一般的な操作手順[***]

  1. cd指定した場所にジャンプします。gitのファイル区切りは** / **です

  2. git init git初期化命令、初期化後、指定されたファイル(つまり、gitシステムディレクトリ)に.gitフォルダーがあります。

  3. 分類

  • -ローカルプロジェクトレベル:現在のすべてのプロジェクトが使用されます

  • --Global:現在のユーザーレベルの使用

  • -System:システムレベル(通常は使用されません)

    git config --global git config user.name xxx現在のユーザー名を設定

  1. ユーザー名とメールを設定する

    git config --global user.name "用户名"

    git config --global user.email "[email protected]"

  2. Gitはローカルウェアハウスgit clone / git initを構築します

  • $ git init 現在のディレクトリに新しいGitコードライブラリを作成する

  • $ git init [project-name] (project-nameという名前の)新しいディレクトリを作成し、Gitコードブロックとして初期化します。

  • $ git clone [url] プロジェクトとその全コード履歴をダウンロードする

  1. git addコマンド

    作業領域から一時保管領域に書き込む

    $ git add [file1] [file2] サブディレクトリを含め、指定したディレクトリを一時記憶領域に追加します

    $ git add [dir] 現在のディレクトリ内のすべてのファイルを一時記憶領域に追加します

    $ git add . クリックして、現在のディレクトリ内のすべてのファイルを一時記憶領域に追加します

    $ git add -p 同じファイルに複数の変更がある場合は、段階的に送信できます

  2. git viewコマンド

  • git status `コマンド

    作業ディレクトリと一時記憶領域のステータスをファイルにのみ表示します

    • git logコマンド

      プロジェクト履歴情報を表示する

    • git log --statコマンド

      要約統計を表示する

    • git show sha1またはヘッドタグ

      特定のコミットに対する変更を確認する

    • git diffコマンド

      作業ディレクトリと一時記憶領域のステータスをコンテンツまで表示します

    • git diff HEADコマンド

      作業ディレクトリと最後の状態をコンテンツまで表示します

  1. git commitコマンド:ステージング領域のファイルをローカルライブラリに送信します
  • $ git commit -m [message] 一時記憶域内の指定されたファイルをローカルライブラリに送信します
  1. ブランチマージ [***これがポイント]
  • $ git branch [branch-name] 新しいブランチを作成するが、現在のブランチにとどまる
  • $ git switch [branch-name] スイッチブランチ
  • $ git switch master 他のブランチを現在のマスターブランチにマージします

おすすめ

転載: blog.csdn.net/qq_40542534/article/details/108586993