linux
Gitでバージョン管理しているプロジェクトにてpullしようとしたとき
$ git pull origin master error: Pulling is not possible because you have unmerged files.
なるエラーが出てできないことがある。 これは手元に解消されていないコンフリクトがある ときにpullしようとすると起こるエラーだ。
もちろん手元のコンフリクトを直せばpullできるが、 そうではなく「手元の変更を捨ててリモートブランチの状態から作業を再開したい」 ときにやり方がややこしいが
$ git fetch origin $ git reset --hard origin/master #ブランチ名がmasterでないときは変える
とすればよい。
ただし未pushの変更はこのやり方だと消えるので必要なら退避させる必要がある。
「なんか手元のリポジトリがおかしくなった、リモートは合っている」というような状態になったときは これを使うとよい。
コンフリクトを直したいときはどうするのか
手元もリポジトリに消すには惜しい有効な変更があるときは、上のやり方ではなく いったんコンフリクトを解決してマージする必要がある。 流れとしては- コンフリクトしているファイルを
git status
で確認 - ">>>>>>"や"<<<<<<<"で示されたコンフリクトを修正
- 修正をadd & commit
おすすめ記事
パスワードをログやファイルに残さないように設定するコマンドでファイルやディレクトリ数を数える:ls + grep + wcで条件を指定

https://wonderhorn.net/