リモート Git リポジトリと同期する
変更をアップストリームにプッシュして作業結果を共有する前に、リモートリポジトリと同期して、プロジェクトのローカルコピーが最新であることを確認する必要があります。これを行うには、次のいずれかの方法があります: 変更のフェッチ、変更のプル、プロジェクトの更新
Git ブランチポップアップには、まだフェッチされていない受信コミットの数 (ブランチの名前の横にある青い矢印アイコン ) と送信コミットの数 (ブランチの名前の横にある緑の矢印アイコン ) が示されます。
変更のフェッチ
アップストリームから変更をフェッチすると、リモートリポジトリと最後に同期してから行われたコミットからのすべての新しいデータがローカルコピーにダウンロードされます。この新しいデータはローカルファイルに統合されず、変更はコードに適用されません。
フェッチされた変更はリモートブランチとして保存されるため、ファイルとマージする前に変更を確認することができます。フェッチはローカル開発環境に影響を与えないためです。これは、リモートリポジトリに対するすべての変更の更新を取得する安全な方法です。
アップストリームから変更をフェッチするには 2 つの方法があります。
メインメニューで Git | フェッチを選択します。
または、ブランチポップアップを開き、右上隅の をクリックします。
このビデオを見て(英語)を使用すると、IDE でフェッチ操作がどのように実行されるかをよりよく理解できます。
ブランチを更新する
特定のブランチをそのリモート追跡ブランチと同期する必要がある場合は、更新を使用します。これは、選択したブランチをフェッチして、変更を適用するための便利なショートカットです。
ブランチポップアップまたはバージョン管理ツールウィンドウのブランチペインで、ブランチを選択し、コンテキストメニューから更新を選択します。
PyCharm はリモートブランチから変更をプル(英語)し、 で選択された更新方法に応じて、ローカルブランチにリベースまたはマージします。
変更のプル
リモートで追跡されたブランチではなく、別のブランチから現在のブランチに変更を加える必要がある場合は、pull を使用します。プルすると、新しいデータをダウンロードするだけでなく、プロジェクトのローカル作業コピーに統合することもできます。
メインメニューで、変更のプルダイアログが開きます。
に移動します。マルチリポジトリプロジェクトがある場合は、追加のドロップダウンが表示され、リポジトリを選択できます。
プロジェクトに複数のリモートが定義されている場合は、リストからリモートを選択します(デフォルトでは
origin
です)。現在チェックアウトされているブランチに変更をプルするブランチを選択します。デフォルトでは、現在のローカルブランチによって追跡されるリモートブランチが選択されています。別のブランチを指定すると、PyCharm は選択内容を記憶し、将来、デフォルトでこのブランチを表示します。
オプションを使用してプルする必要がある場合は、オプションを変更をクリックして、以下から選択します。
--rebase
: リモートブランチから変更をフェッチした後、PyCharm は、プッシュされていないローカルの変更をフェッチされた変更にリベースします。--ff-only
: マージは、早送りが可能な場合にのみ解決されます。--no-ff
: マージが早送りとして解決できたとしても、マージコミットはすべての場合に作成されます。--squash
: すべてのプルされた変更を含む単一のコミットは、現在のブランチ上に作成されます。--no-commit
: マージは実行されますが、マージコミットは作成されないため、コミットする前にマージの結果をインスペクションできます。
pull
オプションの詳細については、「https://git-scm.com/docs/git-pull(英語)」を参照してください。プルをクリックします。
プロジェクトを更新する
複数のプロジェクトルートがある場合、またはリモートリポジトリと同期するたびにすべてのブランチから変更をフェッチする場合は、プロジェクトを更新する方が便利なオプションです。
、更新操作を実行すると、PyCharm はフェッチすべてのプロジェクトのルートとブランチから変更をし、マージ(プルに相当)ローカルの作業コピーにリモートブランチを追跡しました。
メインメニューで、プロジェクトの更新」ダイアログが開きます。
に移動するか、Ctrl+T を押します。「アップデートタイプを選択します(この戦略は、Git バージョン管理下にあるすべてのルートに適用されます)。
今後プロジェクトの更新ダイアログを表示しないことを選択し、後でデフォルトの更新戦略を変更する場合は、設定 Ctrl+Alt+S のバージョン管理 | 確認ページに移動し、これらのコマンドが起動されたときにオプションダイアログを表示する: の更新を選択して、次回更新を実行するときに更新戦略を変更します。
更新操作が完了すると、更新情報タブが Git ツールウィンドウ Alt+9 に追加されます。リモートとの最後の同期以降に行われたすべてのコミットがリストされ、ログタブと同じ方法で変更を確認できます。
関連ページ:
Git リポジトリに変更をコミットしてプッシュする
Git リポジトリに新しいファイルを追加するか、すでに Git バージョン管理下にあるファイルを変更し、現在の状態に満足したら、作業の結果を共有できます。これには、ローカルにコミットしてリポジトリのスナップショットをプロジェクト履歴に記録し、次にリモートリポジトリにプッシュして他のユーザーが使用できるようにすることが含まれます。Git ユーザー名を設定する Git は、コミットを ID に関連付けるために、ユーザー名を知っている必要があります。ユーザー名を設定していない場合、PyCharm は、最...
マージ、リベース、チェリーピックで変更を適用
Git では、あるブランチから別のブランチへの変更を統合するいくつかの方法があります。ブランチのマージ、ブランチのリベース、チェリーピックの個別コミット、コミットから個別の変更を適用する、特定のファイルをブランチに適用する、ブランチのマージ:特定のタスクを実行するために機能ブランチを作成し、機能を完了してテストした後、作業結果をメインコードベースに統合するとします。これを行う最も一般的な方法は、ブランチをマスターにマージすることです。機能ブランチで作業をしている間、チームメイトが master...
更新情報タブ
このタブは、ローカル情報がサーバー(<specific_VCS> | プロジェクトの更新)と同期されている場合に使用できます。コミット数エリアには、最後にリモートと同期してから実行されたすべてのコミットのリストが表示されます。ツールバー:フィルターなしこのフィールドを使用して、コミットのリストを検索します。完全なコミット名またはメッセージ、あるいはそれらのフラグメント、リビジョン番号、正規表現を入力できます。検索を完了するには、を押すか、フォーカスを検索フィールドから離します。な
ログタブ
このタブは、バージョン管理に Git または Mercurial を使用している場合にのみ使用できます。このタブには、すべてのローカルおよびリモートブランチと、すべてのブランチまたは特定のブランチまたはリポジトリにコミットされたすべての変更が表示されます。タブには次のペインが含まれます。ブランチペインは左側にあり、すべてのローカルおよびリモートブランチを表示します。このペインから、ブランチを切り替えたり、新しいブランチを作成したり、不要なものを削除したり、ブランチでログをフィルター処理したりできます。コ...
ファイルを Git に追加し、変更を追跡する
Git にファイル追加コミットツールウィンドウを開きます。を押すか、コンテキストメニューから VCS に追加を選択して、バージョン管理外ファイル変更リスト内のファイルをバージョン管理下に置きます。変更リスト全体を追加することも、個別のファイルを選択することもできます。プロジェクトで Git 統合を有効にしている場合、PyCharm は、新しく作成された各ファイルをバージョン管理下に追加することを提案します。この動作は、の設定ダイアログで変更できます。特定のファイルを常にバージョン管理しないよう...