プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

Git:すべてのブランチをプルする

Gitを使用すると、プロジェクトの複数の個別の開発ラインを維持できます。これらの開発ラインはブランチと呼ばれます。リモートリポジトリからブランチの最新バージョンを個別に取得することも、すべてのブランチの最新バージョンを一度に取得することもできます。

このガイドでは、git fetch –allおよびgit pull –allコマンドを使用してリモートリポジトリから変更を取得する方法について説明します。

分岐とは何ですか?

ブログのウェブサイトで作業しているとしましょう。ユーザーがコメントできる機能をブログに追加します。この機能はまだ作業中であるため、プロジェクトのメインバージョンの一部にはしたくありません。

これにはGitブランチを使用できます。 「comments」というブランチを作成して、コメント機能のすべてのコードを保存できます。これにより、Webサイトにデプロイされているコードベースのメインバージョンを変更せずに、コメント機能に取り組むことができます。

ブランチはローカルまたはリモートに保存できます。プロジェクトのローカルバージョンで作業している場合、ブランチはローカルになります。リモートブランチは、プロジェクトのメインバージョンとともに保存されます。

Git:すべてのブランチを取得

私たちはブログサイトと呼ばれるプロジェクトに取り組んでいます。このプロジェクトには、originmasterとorigindevの2つのブランチが含まれています。

devブランチには、使用しているすべての実験的な機能が含まれています。別の協力者が両方のブランチに変更をプッシュしたと思います。変更が加えられている場合は、メタデータを確認して取得する必要があります。

これは、fetchコマンドを使用して実行できます。 fetchコマンドは、最新の更新でリモートブランチからメタデータを取得するようにGitに指示します。 fetchコマンドは、ローカルバージョンのリポジトリに保存されているファイルを更新しません。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

すべてのリモートブランチを追跡し、それらのブランチのメタデータをフェッチするには、–allフラグを指定してgitfetchコマンドを使用できます。

git fetch --all

このコマンドは次を返します。

Fetching origin
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/career-karma-tutorials/blog-site
   3fcea0c..da74d68  dev    	-> origin/dev
から

fetchコマンドは、リモートリポジトリに加えたすべての変更をフェッチしました。 fetchコマンドは、リモートdevブランチにローカルマシンにはない変更が含まれていることを認識しています。これらのコミットのメタデータを取得しました。

git fetch origin <branch-name>を使用して、個々のブランチのメタデータを取得できます コマンド。

Git:すべてのブランチをプルする

ローカルの作業コピーを更新し、メタデータを取得したい場合はどうなりますか?そこで、gitpullコマンドが役に立ちます。

これで、リポジトリに変更が加えられたことがわかりました。これらの変更をローカルリポジトリにマージすることに満足しています。ローカルマシンに変更をダウンロードするには、gitpullコマンドを使用する必要があります。

git pull --all

–allフラグを使用して、すべてのブランチから変更を取得することを示しました。コマンドは次を返します。

Fetching origin
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/career-karma-tutorials/blog-site
   3fcea0c..da74d68  dev    	-> origin/dev
Updating 3fcea0c..da74d68
Fast-forward
 README.md | 1 +
 1 file changed, 1 insertion(+)

git pullコマンドは、最初にgit fetchコマンドを実行して、変更を確認します。フェッチ操作は、コミットのメタデータを返します。次に、git pullコマンドは、リモートリポジトリに加えたすべての変更を取得し、ローカルファイルを変更します。

リモートリポジトリでREADME.mdファイルが変更されたことがわかります。プル操作を実行したので、ローカルマシンに変更を加えます。

1つのブランチからコードを取得するには、git pulloriginコマンドを使用できます。

結論

git fetch –allコマンドは、リポジトリ内のすべてのブランチに加えられた各変更に関するメタデータを取得します。 git pull –allコマンドは、すべてのブランチで行われたすべての変更をローカルマシンにダウンロードします。
これで、プロのようにGitからすべてのブランチをプルするために必要な知識が得られました!


  1. Git DetachedHEAD

    HEADが外れるという問題は発生しないかもしれませんが、回避できるように、HEADについて知っておくことが重要です。推奨事項として、切り離されたHEADでコミットしないでください。コミットする場合は、コミットを保存する方法を説明します。 リマインダー HEADが何であるかを理解するために、Gitの基礎となるツリーのような構造について復習してみましょう。 作業ディレクトリ:または作業ツリー。ローカルディレクトリとgit statusを参照します 作業ディレクトリの状態が表示されます。 HEAD:これは現在のブランチの最後のコミットスナップショットです。 git checkoutでブランチ

  2. レスキューへのGitリセット

    自分で、またはチームの一員としてプロジェクトに取り組んでいる場合、コミットを元に戻したい場合があります。 git reset コマンドは、実際の命の恩人として知られているツールの1つです。 Gitの追跡メカニズム git resetに進む前に 、gitの基本構造について理解する必要があります。 Gitは、ノードとポインターを備えたツリーのような構造を介して、ファイルを管理および追跡します。 ローカルのgitリポジトリには基本的にこれらの「ツリー」が3つあります: 作業ディレクトリ :または作業ツリー。ローカルディレクトリと git statusを参照します。 作業ディレクトリの