リモート リポジトリからプルするときにローカルの変更を無視する

John Wachira 2023年6月20日
リモート リポジトリからプルするときにローカルの変更を無視する

この記事では、git pull コマンドで強制的にローカル ファイルをオーバーライドする方法について説明します。 このアクションは、複数の人が同じファイルで作業していて、リモート リポジトリに基づいてファイルを更新したい場合に便利です。

すぐに飛び込みましょう。

Git Pull に強制的にローカル ファイルをオーバーライドさせる

ローカル リポジトリとリモート リポジトリの照合は、フェッチから始まります。

ブランチを取得する

git fetch コマンドを使用して、リモート リポジトリからコミット、ファイル、および参照をフェッチします。 このコマンドは、何もマージせずに、ファイル、コミット、および参照のみをローカル リポジトリにダウンロードすることに注意してください。

以下のコンテキストでリモートリポジトリから取得できます。

git fetch --all

上記のコマンドは、リモート リポジトリのすべてのブランチからフェッチします。

変更をリセット

次のステップは、origin/master に一致するようにローカル リポジトリをリセットすることです。 git rest コマンドを --hard フラグと共に使用して、未公開のコミットとローカルの変更を削除します。

ローカル リポジトリは、リモート リポジトリ (origin/master) と一致します。

git rest --hard origin/<branch-name>

場合によっては、ローカルの変更を保持したいことがあります。 これについてどうすればよいでしょうか?

現在のローカルの変更を保持

ローカル リポジトリをリセットする前に新しいブランチを作成することで、現在のローカル コミットと変更を維持できます。

git checkout <branch-name>
git branch <create-branch-to-save-current-changes>

上記のコマンドは、現在のすべての変更をローカル リポジトリに保存する新しいブランチを作成します。 fetchrest ができるようになりました。

git fetch --all
git rest --hard origin/<branch-name>

古いコミットは <create-branch-to-save-current-changes> ブランチにあります。

コミットされていない変更

git rest コマンドは、ローカル リポジトリ内のコミットされていないすべての変更を削除します。 それらを保存して、後でコミットを適用できます。

次の手順を実行します:

  1. git stash コマンドを実行します。 このコマンドは、すべてのコミットを別の場所に保持し、ワークスペースをクリーンアップします。

    git stash
    
  2. 前述の手順に従って、ローカル リポジトリを復元し、git stash pop コマンドを使用して、隠したコミットを適用できます。

    git stash pop
    

Gitプル

git pull コマンドは、リモート リポジトリからローカル リポジトリに変更をフェッチしてマージします。 git fetchgit merge コマンドを組み合わせたものです。

コマンドを使用して、以下のコンテキストでローカル リポジトリを上書きできます。

git rest --hard
git pull

git clean コマンドを使用して、追跡されていないすべてのファイルをリモート リポジトリから削除します。

  1. git clean -f コマンドは追跡されていないファイルを削除します。
  2. git clean -df コマンドは、追跡されていないファイルとフォルダーを削除します。
  3. git clean -xdf コマンドは、追跡されていない、または無視されたファイルとディレクトリを削除します。
著者: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

関連記事 - Git Pull