Git でのファイルのプル、プッシュおよびフェッチ
プルとプッシュ
このワークフローを使用して、リモート リポジトリに接続されている Git™ プロジェクトを操作します。Git では、2 ステップのワークフローがあります。最初にローカル変更をコミットし、次にリモート リポジトリにプッシュします。プロジェクトでは、リモート リポジトリへのアクセスのみが [プル]、[プッシュ] および [フェッチ] ボタンで行われます。他のすべてのアクションでは、ローカル リポジトリが使用されます ([変更を確認]、[上位と比較]、[コミット] など)。次の図は、Git のワークフローを表します。
最新の変更を取得するには、[プロジェクト] タブの [ソース管理] セクションで [プル] をクリックします。プルは、最新の変更をフェッチし、現在のブランチにそれらをマージします。
メモ
マージするには、モデル ファイルをバイナリとして登録して、Git が競合マーカーを挿入するのを防がなければなりません。ソース管理ツールへのモデル ファイルの登録を参照してください。
作業するブランチを作成するには、[プロジェクト] タブの [ソース管理] セクションで [ブランチ] をクリックします。Git でのブランチとファイルのマージの説明に従って、[ブランチ] ダイアログ ボックスでブランチを作成します。
変更をコミットする場合、[変更済み] ファイル ビューを選択してファイルを表示し、[プロジェクト] タブで [コミット] をクリックします。変更は、ローカル リポジトリの現在のブランチにコミットされます。[Git] ペインで現在のブランチに関する情報を確認します。リモート トラッキング ブランチより進んでいるローカルの変更をコミットした場合は、メッセージ
[~の先]
が表示されます。ローカル コミットをリモート リポジトリに送るには、[プロジェクト] タブの [ソース管理] セクションで [プッシュ] をクリックします。
リポジトリが更新されたために変更を直接プッシュできない場合は、メッセージが表示されます。[フェッチ] をクリックして、リモート リポジトリから変更をフェッチします。ブランチをマージし、競合を解決してから変更をプッシュできます。プル、フェッチおよびマージを参照してください。
プル、フェッチおよびマージ
[フェッチ] を使用して変更をフェッチし、手動でマージします。代わりに [プル] を使用すると、最新の変更をフェッチして現在のブランチにマージできます。
メモ
ブランチをマージするには、モデル ファイルをバイナリとして登録して、Git が競合マーカーを挿入するのを防がなければなりません。ソース管理ツールへのモデル ファイルの登録を参照してください。
プルは、最新の変更をフェッチし、現在のブランチにそれらをマージします。リポジトリから何が入ってくるか不明な場合は、代わりにフェッチを使用して変更を確認してから、変更を手動でマージします。
競合があると、プルが失敗する場合があります。複雑な変更の場合は、オリジナルからブランチを作成し、互換性の変更を行ってから、そのブランチをメインのトラッキング ブランチにマージすることをお勧めします。
リモート リポジトリから変更をフェッチするには、[プロジェクト] タブで [フェッチ] をクリックします。
フェッチにより、ローカル リポジトリ内の元のブランチがすべて更新されます。
メモ
[フェッチ] をクリックしても、サンドボックス ファイルは変化しません。他の変更を確認するには、元の変更をローカル ブランチにマージしなければなりません。
[Git] ペインで、リポジトリ内のリモート トラッキング ブランチに対する現在のブランチに関する情報を確認します。メッセージ [~の後]
が表示されている場合は、リポジトリからの変更内容をローカル ブランチにマージしなければなりません。
たとえば、メイン ブランチで作業している場合に、リモート リポジトリのメイン ブランチから変更を取得するとします。
[フェッチ] をクリックします。
[Git] ペインのメッセージ
[/origin/main の後]
を確認します。[ブランチ] を使用して、リポジトリからの変更内容をローカル ブランチにマージしなければなりません。[ブランチ] をクリックします。
[ブランチ] ダイアログ ボックスの [ブランチ] リストで [origin/main] を選択します。
[マージ] をクリックします。これにより、元のブランチの変更がサンドボックスのメイン ブランチにマージされます。
[ブランチ] ダイアログ ボックスを閉じます。[Git] ペインのメッセージが [/origin/main に一致] になっていることを確認します。これで、リモート リポジトリからフェッチし、ローカル サンドボックス ファイルにマージした変更を表示できます。
フェッチとマージの際に、競合する変更を解決しなければならない場合があります。ブランチのマージによって Git が自動的に解決できない競合が発生した場合、自動マージが失敗したというメッセージがエラー ダイアログ ボックスに表示されます。次に進む前にその競合を解決します。競合の解決を参照してください。
空のフォルダーのプッシュ
Git を使用すると、ソース管理に空のフォルダーを追加できないため、[プッシュ] を選択しても空のフォルダーをクローンできません。プロジェクトで空のフォルダーを作成できますが、変更をプッシュして新しいサンドボックスを同期すると、新しいサンドボックスに空のフォルダーは表示されません。代わりに、[プロジェクトをチェック] を実行できます。これで、空のフォルダーが作成されます。
または、空のフォルダーをリポジトリにプッシュして他のユーザーと同期できるようにするには、このフォルダーに gitignore
ファイルを作成してから、変更をプッシュします。
Git 一時退避の使用
Git 一時退避を作成してコミットされていない変更内容を保存し、後で使用します。一時退避を使用して以下を実行します。
変更したファイルをコミットせずに保存する。
変更を新しいブランチに簡単に移動する。
一時退避内で変更を参照し、調べる。
一時退避を作成および管理するには、[プロジェクト] タブの [ソース管理] セクションで、[一時退避] をクリックします。[一時退避] ダイアログ ボックスで、次を実行します。
現在変更しているファイルを含む一時退避を作成するには、[新規一時退避] をクリックします。
一時退避内の変更されたファイルを表示するには、[使用可能な一時退避] で一時退避を選択します。変更したファイルを右クリックして、変更を表示したりコピーを保存します。
一時退避を現在のブランチに適用してから一時退避を削除するには、[ポップ] をクリックします。
一時退避を適用して維持するには、[適用] をクリックします。
一時退避を削除するには、[削除] をクリックします。