リモート リポジトリからプルするときにローカルの変更を無視する
この記事では、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>
上記のコマンドは、現在のすべての変更をローカル リポジトリに保存する新しいブランチを作成します。 fetch
と rest
ができるようになりました。
git fetch --all
git rest --hard origin/<branch-name>
古いコミットは <create-branch-to-save-current-changes>
ブランチにあります。
コミットされていない変更
git rest
コマンドは、ローカル リポジトリ内のコミットされていないすべての変更を削除します。 それらを保存して、後でコミットを適用できます。
次の手順を実行します:
-
git stash
コマンドを実行します。 このコマンドは、すべてのコミットを別の場所に保持し、ワークスペースをクリーンアップします。git stash
-
前述の手順に従って、ローカル リポジトリを復元し、
git stash pop
コマンドを使用して、隠したコミットを適用できます。git stash pop
Gitプル
git pull
コマンドは、リモート リポジトリからローカル リポジトリに変更をフェッチしてマージします。 git fetch
と git merge
コマンドを組み合わせたものです。
コマンドを使用して、以下のコンテキストでローカル リポジトリを上書きできます。
git rest --hard
git pull
git clean
コマンドを使用して、追跡されていないすべてのファイルをリモート リポジトリから削除します。
git clean -f
コマンドは追跡されていないファイルを削除します。git clean -df
コマンドは、追跡されていないファイルとフォルダーを削除します。git clean -xdf
コマンドは、追跡されていない、または無視されたファイルとディレクトリを削除します。
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