【Git】git pullしようとした場合のコンフリクトを解消したい

Git

ローカル環境でファイル変更していたことに気づかずGitHubのリポジトリから最新データを持ってこようとしてしまい、コンフリクトが発生してしまいました。その解決方法を調べたのでメモしていきます。

方法1:未コミットの変更を破棄

ローカル環境でまだコミットされていない変更を消去します。

$ git reset --hard
HEAD is now at b59d735 rails new実行、その他設定済み

これにより、作業ディレクトリとステージングエリアの変更がすべて削除され、リポジトリの最後のコミットと同じ状態に戻ります。
⚠️ステージングエリアにも作業ディレクトリにも残らずコミットがまるごと削除されるので注意が必要です。

方法2:未コミットの変更を一時的に退避させる

未コミットの変更がある場合git stashで一時的に変更を退避させる

git stash

これにより、変更がスタッシュに一時的に保存され、作業ディレクトリはクリーンな状態に戻ります。
⚠️スタッシュは変更を一時的に保管するのに便利ですが、複数のスタッシュがある場合は注意が必要です。
後で戻すには下記コマンドで実行します。

git stash apply

変更を破棄したり、退避させたら、再び git pull origin main を実行してリモートリポジトリから最新の変更を取得します。

コメント

タイトルとURLをコピーしました