本番サーバーで安全第一でpullする方法|Gitやばい辞典

WEB制作の現場で本当に起きる現場で知らないと本当に困るGITやばい辞典 画像で詳細解説

本番サーバーで git pull を絶対に失敗させないための最短ガイド。現場での予期せぬ変更(ゴミ)を即座に排除し、手元の「正解」を100%確実に反映させる。迷わず、一瞬でリリースを終わらせるための実戦手順です。

本番でpullが失敗する原因

本番サーバーでpullしたあとに、コマンドでがちゃがちゃする現場ありますよね。あれ本当にやめてほしい(笑)。ご丁寧にコマンドの巻物をご用意していることも多いですが、想定外の問題が起きようものなら一瞬で詰みます。環境を作った人以外は操り人形と同じなんですよね。

本番サーバーは常にシンプルで安全でクリーンな状態をキープしていただきたいものです。

pullが失敗する原因は以下のとおり。ほぼ人為的な問題、運用ルールによることが多いのではないでしょうか。今回はこれが起きた時の対象法です。

1. 誰かが本番を直接いじった(最大の原因)

「ちょっとした文言修正」などを本番サーバー上のファイルで直接保存してしまったケース。Gitは「未コミットの変更」と「リモートの更新」の衝突を検知し、プルを拒否します。

2. プログラムがログやキャッシュを吐き出した

アプリケーションが実行中に生成したファイルや、パーミッションの変更などがGitの追跡対象に含まれている場合、それが「未コミットの変更」として扱われ、プルの邪魔をします。こちらは、.gitignoreに追加しておけば解決です。

現在のブランチに修正中のソースがあるかを確認

git status

何もなければ: nothing to commit, working tree clean と出力され、そのままプルへ進めます。

誰かが触っていれば: 修正されたファイル名が赤字でリストアップされます。


修正されている「場所(中身)」を知る方法

git diff

これで「どのファイルの、どの行が、どう書き換えられたか」がすべて表示されます。

特定のファイルだけ見たいなら git diff ファイル名 です。


修正をすべてリセットする方法(Pullできる状態にする)

git checkout .

or

git restore . (←新しい方法)

注意: これは「ファイルの修正」が消えるので実際は現場のルールにあわせてくださいね!

もし新しいファイルが勝手に作られていた場合: git clean -fd を叩くと、Git管理外のゴミファイルも一掃できます。


安全第一でpullしよう!

git pull

ここまできたら、通常の環境であればすんなりとpullできるはず。