初心者には必見のGitとGitHubのクイックスタート。Gitをダウンロードしてインストールします。ブランチの使用に関する一般的な手順。SSHパスワードなしのログイン。チーム内部コラボレーション。チーム間コラボレーション

Git&GitHubのクイックスタート

1.Gitとバージョン管理の概念

  1. Gitは無料のオープンソース分散バージョン管理ツールです

  2. バージョン管理は、特定の履歴バージョンを表示または変更するために、ファイルのコンテンツの変更を記録するツールです。

  3. バージョン管理ツールの分類:

(1)一元化されたバージョン管理ツール

すべてのファイルのリビジョンを保存する単一の集中管理サーバーがあります。スタッフはこのサーバーに接続して履歴バージョンを表示または変更する必要があります。欠点は、サーバーに障害が発生した場合、すべてのスタッフが更新または表示を送信できないことです。リビジョン履歴バージョン、共通SVNなど

(2)分散バージョン管理ツール

各ホストはサーバーのようにファイルリビジョンを保存でき、他のホストが自分のホストから履歴バージョンを表示およびリビジョンできるようにします

  1. 一元化されたバージョン管理ツールは、ファイルの各バージョンの違いを保存し、ロールバックバージョンはバージョンのバージョンである必要があります。

  2. 分散バージョン管理ツールは、すべての履歴バージョンのインデックスを保存し(必要なディスク容量が少ない)、ロールバックバージョンはインデックスを介して直接ロールバックできます。

第二に、Gitのインストールプロセス

  1. 公式ウェブサイトにアクセスしてhttps://git-scm.com/をダウンロードしてください

  2. インストールプロセスの次のすべてのステップ(デフォルトを使用)

  3. デスクトップまたはディスクディレクトリを右クリックし、[Git Bash Here]をクリックして、Gitターミナルを開きます。

ここに画像の説明を挿入

3つ目は、Gitのローカル構造とローカル倉庫の初期化です。

  1. Gitのローカル構造

ここに画像の説明を挿入

  1. ローカル倉庫を初期化します

(1)Gitのローカル構造としてディスク上にGitResp(カスタム名)フォルダを作成します

(2)Gitターミナルを開きます

①GitのコマンドはLinuxと同じです

i。Gitバージョンを表示する

ここに画像の説明を挿入

ii。画面をクリアします

ここに画像の説明を挿入

iii。署名(ユーザー名と電子メール)を設定します

ここに画像の説明を挿入

②地元倉庫の初期化

i。作成したローカルウェアハウスのフォルダを入力し、右クリックしてターミナルを開きます

ここに画像の説明を挿入

ii。.gitフォルダー(非表示)がこのフォルダーの下に作成されます

③Gitの局所構造の詳細な紹介

ここに画像の説明を挿入

第四に、コードホスティングセンターの導入

ローカルライブラリとリモートライブラリ間の相互作用の分類:

1.チーム内のコラボレーション

ここに画像の説明を挿入

2.チーム間のコラボレーション

ここに画像の説明を挿入

ホスティングセンターの分類:

(1)ローカルエリアネットワーク環境の場合:GitLabサーバーを構築できます

(2)インターネット環境の場合:GitHubまたはGitee(Code Cloud)を使用できます

5、Gitで一般的に使用されるコマンド

  1. コマンドの追加とコミット

キャッシュにファイルを追加し、ローカルライブラリに送信するために使用されます

(1)ワークスペースにDemo.txtファイルを作成します

(2)作業領域のファイルを一時記憶領域に追加します

ここに画像の説明を挿入

(3)一時保管場所の内容を地元の図書館に提出する

-m "xxx"ローカルライブラリに送信されたファイルにコメントを追加します

ここに画像の説明を挿入

(4)注

赤いボックスは、このファイルがワークスペースにないことを意味します

ここに画像の説明を挿入

i。ワークスペースに配置されていないファイルはgitによって管理されていません

ii。ワークスペース内のファイルでさえgitによって管理されておらず、addコマンドとcommitコマンドを介してのみ管理できます。

  1. ステータスコマンド

ステータス情報を表示する

(1)ファイルDemo2.txtを作成し、ステータスを確認します

ここに画像の説明を挿入

(2)Demo2.txtでaddコマンドを実行し、一時ストレージ領域に追加してステータスを確認します

ここに画像の説明を挿入

(3)Demo2.txtでcommitコマンドを実行し、ローカルライブラリに送信してステータスを確認します

ここに画像の説明を挿入

		i. 红框表示暂存区无文件,已经全部提交到本地库
		ii. 对文件内容修改之后需要重新执行add、commit命令将其提交到本地库
  1. ログコマンド

(1)git log

最も近いものから最も遠いものへとログ情報を表示します

ここに画像の説明を挿入

空白:次のページ
b:前のページ
q:終了

(2)git log --pretty = oneline

ここに画像の説明を挿入

(3)git log --oneline

ここに画像の説明を挿入

(4)git reflog

HEAD @ {X}は、このバージョンにロールバックするにはXステップが必要であることを意味します

ここに画像の説明を挿入

  1. リセットコマンド

履歴バージョンを転送または巻き戻し

注:ターミナルでコピーするものを選択し、右クリックして[貼り付け]を選択して貼り付けます

ここに画像の説明を挿入

  1. ハード\混合\ソフトパラメータ

git reset --hard [インデックス番号]:ローカルライブラリのバージョンが変更されると、それに応じて一時ストレージ領域と作業領域のバージョンが変更されます

git reset --mixed [インデックス番号]:ローカルライブラリのバージョンが変更されると、それに応じて一時ストレージ領域が変更されますが、作業領域は変更されません。

git reset --soft [インデックス番号]:ローカルライブラリのバージョンが変更されると、一時ストレージ領域も作業領域も変更されません

  1. ファイルの削除/削除されたファイルの回復

(1)Test2.txtファイルを作成し、そのファイルに対してaddコマンドとcommitコマンドを実行します

(2)ワークスペースのTest2.txtファイルを削除します

ここに画像の説明を挿入

(3)削除操作を一時記憶域とローカルライブラリに同期させます

ここに画像の説明を挿入

(4)ログを表示

ここに画像の説明を挿入

ローカルライブラリでファイルが物理的に削除されていないことが判明しましたが、削除されたレコードが追加され、削除されたファイルはインデックス番号に従って取得できます。

(5)インデックスを介して削除されたファイルを取得します

ここに画像の説明を挿入

  1. diffコマンド

特定のファイルワークスペースのコンテンツと一時ストレージ領域の違いを比較します

(1)コンテンツaaaaを含むファイルTest3.txtを作成し、そのファイルに対してaddコマンドとcommitコマンドを実行します。

(2)ワークスペースのTest3.txtファイルの内容を変更し、bbbを追加すると、内容がaaaabbbになり、ワークスペースと一時記憶域の内容に一貫性がなくなります。

(3)このファイルに対してgit diffTest3.txtコマンドを実行します

ここに画像の説明を挿入

(4)git diffは、作業領域と一時記憶領域のすべてのファイルの違いを比較することを意味します

(5)git diff [インデックス番号] / [HEAD] [ファイル名]は、作業領域と一時記憶領域のファイルのバージョンを比較することを意味します

6、ブランチの紹介と使用

1.ブランチの紹介

次の図に示すように、バージョン管理プロセスでは、複数のブランチを使用して、複数のタスクを同時に進めます。

ここに画像の説明を挿入

分岐の利点:

(1)複数のブランチを相互に影響を与えることなく同時に開発できるため、開発効率が向上します。

(2)ブランチの機能開発に失敗した場合は、このブランチを直接削除するだけで、他のブランチには影響しません。

2.オペレーションブランチ

(1)ブランチの表示、作成、および切り替え

i。ワークスペースにTest4.txtファイルを作成します。コンテンツはabcで、その上でaddコマンドとcommitコマンドを実行します。

ii。ブランチの表示(現在、マスターブランチマスターは1つだけです)
ここに画像の説明を挿入

iii。ブランチを作成する

ここに画像の説明を挿入

iv。ブランチの切り替え

ここに画像の説明を挿入

上の図のオレンジ色のボックスは、新しいブランチが、空白のブランチではなく、メインブランチの前のファイルバージョンを継承することを示しています。

(2)ブランチの競合問題を解決します

i。branch01ブランチに入り、次のコンテンツをTest4.txtファイルに追加し、addコマンドとcommitコマンドを実行します。

ここに画像の説明を挿入

ii。ブランチをマスターに切り替え、ブランチの状況を確認し、マスターブランチの内容がbranch01で変更されていないことを確認します。

ここに画像の説明を挿入

このとき、Test4.txtファイルを開いて、abcが3文字しかないこと、つまり、新しいコンテンツがないことを確認します。

iii。マスターブランチを前提としてTest4.txtにコンテンツを追加し、addコマンドとcommitコマンドを実行します

ここに画像の説明を挿入

このとき、メインブランチとbranch01ブランチの同じファイルの内容が競合します

iv。この時点で、branch01ブランチをメインブランチにマージする必要があります

v。マスターブランチに切り替えた後、git mergebranch01を実行します

ここに画像の説明を挿入

vi。Test4.txtファイルの内容を表示します

ここに画像の説明を挿入

vii。この時点で、このファイルを削除および変更し、何を残すかを決定してから、addコマンドを実行する必要があります。

ここに画像の説明を挿入

viii。このファイルに対してcommitコマンドを実行して、競合を解決します

ここに画像の説明を挿入

7、チーム内部コラボレーションプロセスシミュレーション

  1. スタッフAはローカルライブラリを作成し、ワークスペースのDemo.txtファイルでaddコマンドとcommitコマンドを実行します

  2. AGitHubでリモートライブラリを作成します

(1)リモートライブラリを作成する

ここに画像の説明を挿入

(2)情報を入力する

ここに画像の説明を挿入

(3)完了状況

ここに画像の説明を挿入

(4)リモートライブラリのアドレスが長いため、このアドレスをローカルでエイリアス化できます

i。エイリアスを作成する

ここに画像の説明を挿入

ii。エイリアスを表示

ここに画像の説明を挿入

  1. ローカルライブラリのコンテンツをリモートライブラリにプッシュします(ポップアップウィンドウでGitHubアカウントにログインする必要があります)

ここに画像の説明を挿入

プッシュが成功したら、GitHubでリモートライブラリを確認します。

ここに画像の説明を挿入

  1. スタッフBは、Aによって作成されたリモートライブラリをローカルに複製します

ここに画像の説明を挿入

クローン作成操作は、以下を完了するのに役立ちます。

(1)ローカルライブラリを初期化します
(2)リモートライブラリの内容をローカルに完全に複製します
(3)リモートライブラリのエイリアスを自動的に作成します(origin)

  1. BがDemo3.txtファイルを作成し、リモートライブラリにプッシュする必要があります。直接プッシュすると、エラーが発生します。

ここに画像の説明を挿入

  1. GitHubでAのアカウントにログインし、Bをチームに招待します

ここに画像の説明を挿入
ここに画像の説明を挿入

ここに画像の説明を挿入

  1. GitHubで従業員Bのアカウントにログインし、ブラウザのアドレスバーに招待リンクを入力してチームに参加します

ここに画像の説明を挿入

  1. B Demo3.txtファイルをリモートライブラリに再度プッシュします、成功しました

  2. リモートライブラリの変更されたコンテンツをローカルにダウンロードする必要があります

ここに画像の説明を挿入

注:より安全な方法があります(フェッチ+マージ)

(1)リモートライブラリでfetchコマンドを実行します

ここに画像の説明を挿入

grabコマンドの実行後、リモートライブラリのコンテンツのみがローカルにダウンロードされますが、ワークスペースのコンテンツは更新されません。

(2)ワークスペースのコンテンツを正式に更新する前に、リモートライブラリに移動して、コンテンツが正しいかどうかを確認できます。

ここに画像の説明を挿入

(3)正しいことを確認した後、マージ操作を実行します(マージ前にブランチを元に戻す必要があります)

ここに画像の説明を挿入
ここに画像の説明を挿入

  1. 共同開発中の競合を解決する方法

(1)AはファイルTest.txtをリモートライブラリにプッシュし、Bはリモートライブラリからローカルにプルし、BはTest.txtを変更してリモートライブラリにプッシュします。

(2)AがTest.txtを変更してリモートライブラリにプッシュした後、競合が発生します

ここに画像の説明を挿入

(3)競合が発生した場合は、最初にローカルにプルし、前の方法に従ってファイルを削除および変更してから、リモートライブラリにプッシュする必要があります。

注:競合が解決された後、commitコマンドの実行時にファイル名を追加することはできません

8.チーム間のコラボレーションプロセスシミュレーション

  1. A社の従業員Aが自分のリモートライブラリのアドレスをコピーします

ここに画像の説明を挿入

  1. B社のスタッフBが自分のGitHubアカウントにログインし、ブラウザのアドレスバーにAのリモートライブラリアドレスを入力します

  2. Bは、図のフォークをクリックして、Aのリモートライブラリを自分のリモートライブラリにコピーします。

ここに画像の説明を挿入

  1. クリックすると表示されます

ここに画像の説明を挿入

  1. Bは、リモートライブラリのコンテンツをローカルに複製し、変更後にリモートライブラリにプッシュできます。

  2. B GitHubにログインし、リモートライブラリに入り、[

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

  1. レビューのためにGitHubアカウントにログインします

ここに画像の説明を挿入

ここに画像の説明を挿入

9つのSSHパスワードなしのログイン

  1. コマンドを入力して、コンピューターユーザーのホームディレクトリを入力します
    ここに画像の説明を挿入

  2. コマンドを実行して.sshディレクトリを生成します

ここに画像の説明を挿入

コマンドを入力した後、Enterキーを3回押して、デフォルト値を使用します

  1. 作成された.sshディレクトリには2つのファイルがあります
    ここに画像の説明を挿入

  2. .pubで終わるファイルを開き、内容をコピーします

  3. GitHubアカウントにログインします

ここに画像の説明を挿入

ここに画像の説明を挿入
ここに画像の説明を挿入

  1. エイリアスSSHリモートアドレス

ここに画像の説明を挿入

SSHを使用する利点:毎回認証する必要がない

おすすめ

転載: blog.csdn.net/weixin_49343190/article/details/110451882