Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Git でのファイルのプル、プッシュおよび取得

プルとプッシュ

このワークフローを使用して、リモート リポジトリに接続されている Git™ プロジェクトを操作します。Git では、2 ステップのワークフローがあります。最初にローカル変更をコミットし、次にリモート リポジトリにプッシュします。プロジェクトでは、リモート リポジトリへのアクセスのみが [プル][プッシュ] および [取得] ボタンで行われます。他のすべてのアクションでは、ローカル リポジトリが使用されます ([変更を確認][上位と比較][コミット] など)。次の図は、Git のワークフローを表します。

  1. 最新の変更を取得するには、[プロジェクト] タブの [ソース管理] セクションで [プル] をクリックします。プルは、最新の変更を取得し、現在のブランチにそれらをマージします。

    メモ

    マージするには、モデル ファイルをバイナリとして登録して、Git が競合マーカーを挿入するのを防がなければなりません。ソース管理ツールへのモデル ファイルの登録を参照してください。

  2. 作業するブランチを作成するには、[プロジェクト] タブの [ソース管理] セクションで [ブランチ] をクリックします。Git でのブランチとファイルのマージの説明に従って、[ブランチ] ダイアログ ボックスでブランチを作成します。

  3. 変更をコミットする場合、[変更済み] ファイル ビューを選択してファイルを表示し、[プロジェクト] タブで [コミット] をクリックします。変更は、ローカル リポジトリの現在のブランチにコミットされます。[Git] ペインで現在のブランチに関する情報を確認します。リモート トラッキング ブランチより進んでいるローカルの変更をコミットした場合は、メッセージ [~の先] が表示されます。

  4. ローカル コミットをリモート リポジトリに送るには、[プロジェクト] タブの [ソース管理] セクションで [プッシュ] をクリックします。

  5. リポジトリが更新されたために変更を直接プッシュできない場合は、メッセージが表示されます。[取得] をクリックして、リモート リポジトリから変更を取得します。ブランチをマージし、競合を解決してから変更をプッシュできます。プル、取得およびマージを参照してください。

プル、取得およびマージ

[取得] を使用して変更を取得し、手動でマージします。代わりに [プル] を使用すると、最新の変更を取得して現在のブランチにマージできます。

メモ

ブランチをマージするには、モデル ファイルをバイナリとして登録して、Git が競合マーカーを挿入するのを防がなければなりません。ソース管理ツールへのモデル ファイルの登録を参照してください。

プルは、最新の変更を取得し、現在のブランチにそれらをマージします。リポジトリから何が入ってくるか不明な場合は、代わりに取得を使用して変更を確認してから、変更を手動でマージします。

競合があると、プルが失敗する場合があります。複雑な変更の場合は、オリジナルからブランチを作成し、互換性の変更を行ってから、そのブランチをメインのトラッキング ブランチにマージすることをお勧めします。

リモート リポジトリから変更を取得するには、[プロジェクト] タブで [取得] をクリックします。

取得により、ローカル リポジトリ内の元のブランチがすべて更新されます。

メモ

[取得] をクリックしても、サンドボックス ファイルは変化しません。他の変更を確認するには、元の変更をローカル ブランチにマージしなければなりません。

[Git] ペインで、リポジトリ内のリモート トラッキング ブランチに対する現在のブランチに関する情報を確認します。メッセージ [~の後] が表示されている場合は、リポジトリからの変更内容をローカル ブランチにマージしなければなりません。

たとえば、マスター ブランチで操作している場合に、リモート リポジトリのマスター ブランチから変更を取得するとします。

  1. [取得] をクリックします。

    [Git] ペインのメッセージ [/origin/master の後] を確認します。[ブランチ] を使用して、リポジトリからの変更内容をローカル ブランチにマージしなければなりません。

  2. [ブランチ] をクリックします。

  3. [ブランチ] ダイアログ ボックスの [ブランチ] リストで [origin/master] を選択します。

  4. [マージ] をクリックします。これにより、元のブランチの変更がサンドボックスのマスター ブランチにマージされます。

  5. [ブランチ] ダイアログ ボックスを閉じます。[Git] ペインのメッセージが [/origin/master に一致] になっていることを確認します。これで、リモート リポジトリから取得し、ローカル サンドボックス ファイルにマージした変更を表示できます。

取得とマージの際に、競合する変更を解決しなければならない場合があります。ブランチのマージによって Git が自動的に解決できない競合が発生した場合、自動マージが失敗したというメッセージがエラー ダイアログ ボックスに表示されます。次に進む前にその競合を解決します。競合の解決を参照してください。

空のフォルダーのプッシュ

Git を使用すると、ソース管理に空のフォルダーを追加できないため、[プッシュ] を選択しても空のフォルダーをコピーできません。プロジェクトで空のフォルダーを作成できますが、変更をプッシュして新しいサンドボックスを同期すると、新しいサンドボックスに空のフォルダーは表示されません。代わりに、[プロジェクトをチェック] を実行できます。これで、空のフォルダーが作成されます。

または、空のフォルダーをリポジトリにプッシュして他のユーザーと同期できるようにするには、このフォルダーに gitignore ファイルを作成してから、変更をプッシュします。

Git 一時退避の使用

Git 一時退避を作成してコミットされていない変更内容を保存し、後で使用します。一時退避を使用して以下を実行します。

  • 変更したファイルをコミットせずに保存する。

  • 変更を新しいブランチに簡単に移動する。

  • 一時退避内で変更を参照し、調べる。

一時退避を作成および管理するには、[プロジェクト] タブの [ソース管理] セクションで、[一時退避] をクリックします。[一時退避] ダイアログ ボックスで、次を実行します。

  • 現在変更しているファイルを含む一時退避を作成するには、[新規一時退避] をクリックします。

  • 一時退避内の変更されたファイルを表示するには、[使用可能な一時退避] で一時退避を選択します。変更したファイルを右クリックして、変更を表示したりコピーを保存します。

  • 一時退避を現在のブランチに適用してから一時退避を削除するには、[ポップ] をクリックします。

  • 一時退避を適用して維持するには、[適用] をクリックします。

  • 一時退避を削除するには、[削除] をクリックします。

関連する例

詳細