[解決済み】Gitリモートからのプル時に、リモートの変更を使用してコンフリクトを解決する。
2022-03-28 19:45:14
質問
GitHub リポジトリから自分のサーバーにコードをプルしようとしていますが、マージの競合のためにプルが何度も失敗します。最後のプル以降にローカルサーバーで発生した可能性のある変更を保持したくありません。
では、コンフリクトで悩むのではなく、GitHubにあるバージョンで上書きするようにGitに強制する方法はあるのでしょうか?
解決方法は?
本当に捨てたいのであれば コミット ローカルで作ったものを二度と履歴に残さないようにするには、pullの方法を聞いているのではありません。pullはマージを意味し、マージする必要はありません。必要なのはこれだけです。
# fetch from the default remote, origin
git fetch
# reset your current branch (master) to origin's master
git reset --hard origin/master
個人的には、まず現在の HEAD にバックアップブランチを作っておくことをお勧めします。そうすれば、もしこれが悪い考えだったと気づいたときに、それを見失わずにすみます。
一方、これらのコミットを残し、あたかも origin とマージしたかのように見せかけ、オリジンからのバージョンだけをマージさせたい場合は
ours
merge 戦略。
# fetch from the default remote, origin
git fetch
# create a branch at your current master
git branch old-master
# reset to origin's master
git reset --hard origin/master
# merge your old master, keeping "our" (origin/master's) content
git merge -s ours old-master
関連
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git で、ステージされていない変更を破棄するにはどうしたらいいですか?
-
[解決済み] Git リポジトリでのマージの衝突を解決するには?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Git ですべてのリモートブランチをクローンする方法
-
[解決済み] Gitのプッシュを正しく強制する方法は?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】既存のGitブランチをリモートブランチに追従させる?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Git サブモジュール head 'reference is not a tree' エラー
-
[解決済み】ローカルに変更があるにもかかわらず、git pushが「すべて最新」と言う
-
[解決済み】Githubエンタープライズ - リモート。Git の操作でパスワード認証が利用できない
-
[解決済み] [Solved] 作業ツリーのディレクトリ 'example.com' を作成できませんでした。パーミッションが拒否されました
-
git commit リモートエラー [rejected] master -> master (フェッチファースト)
-
[解決済み】Git Push Error: リポジトリデータベースにオブジェクトを追加する権限が不足しています。
-
[解決済み] fatal: EOF が早い fatal: インデックスパックが失敗した
-
[解決済み] 短いGitバージョンのハッシュを取得する
-
[解決済み] プル中に自分の変更を優先してGitのマージの競合を解決する
-
[解決済み] Git リポジトリで現在のコミットを唯一の(初期)コミットにする?