コミットした直後に、不要なスペースやカンマやconsoleなどデバッグ用コードの消し忘れに気付き消してコミットすると、履歴が汚くなる。
事例
例えば、pタグ
を追加しコミットした後で、不要なスペースがあるのに気付き再度コミットする場合。
<p>added </p>
↓スペース削除
<p>added</p>
**▼普通にコミットした場合**
* cd50968 - (HEAD -> master) remove space
* f9ac530 - add p
add pの後に、余計なコミットremove spaceが入る。
対処法
追加処理(git add後)のコミット時にオプションで--amend
を使う。
・git commit --amend --no-edit
git add .
git commit --amend --no-edit
ファイルの内容は上書きされるが、コミット履歴を残さない(前回のコミットメッセージのまま)
* ed04c55 - (HEAD -> master) remove space
* f9ac530 - add p
※注:コミット番号は変わる。
コミットメッセージを変更する場合
ファイルの追加等なしで、単にファイル名を変更したい場合は--amend -m
オプションを使う
git commit --amend -m "変更後のメッセージ"
* ed04c55 - (HEAD -> master) remove space
↓ git commit --amend -m "変更後のメッセージ"
* a378eb4 - (HEAD -> master) 変更後のメッセージ
こちらも、コミット番号が変わる。
## 注意点 githubを使い複数人で開発している場合の注意点はmasterにmerge後のコミットは修正してはいけない。
自分のローカルのみなら、強制プッシュpush -f
で修正できるが、もし、masterにマージしてしまったら、自分だけでなく使っている人全員にpush -f
などの対処をしてもらわなければならない。
プッシュ後の自分のブランチへの強制プッシュ法
git push origin ブランチ名 -f
masterへの強制プッシュは絶対禁止!!!!(master -fの組み合わせはあってはならない)