お疲れ様です。本日はGit!ということで、自分がもうおせわになりましたってやつ、これからお世話になりそうなやつを自己研鑽として色々し食べたのでそれをメモできればいいなと思います。Gitはどんな言語、どんな開発においてもきれない存在なので一投稿じゃ収まらないなと思いとりあえずパート1ということで
Gitでのコミットを取り消したい場合
プッシュする前
直前のcommitだけを修正する場合: --amend
Commitを消したい場合: --reset
古いCommitを修正する場合: --rebase
プッシュした後
Commit無かったことにしたい: revert
プッシュ後には amend/revert/rebase しちゃだめ
詳細
amend(コミットメッセージを書き直したいとき)
コミットメッセージ欄→コミットオプションを指定→最新のコミットを修正(ソースツリー)
reset(コミット後にしてのコミットまで戻したい場合)
戻したいコミットを選択→右クリック→リセット(ソースツリー)
- resetの種類
- --soft : コミットのみが巻き戻る
- 直前のコミットを修正したいとき
- コミットをし直したいとき
- --mixed : コミットとステージングが巻き戻る
- いくつかのgit addでステージしたけど、やっぱり戻したいというとき
- デフォルトはmixed
- --hard : コミット、stg、作業ディレクトリ全てを巻き戻す
- --soft : コミットのみが巻き戻る
rebase(直前のコミットから任意のコミットまでまとめたい)
- 複数のコミットを1コミットにまとめる、コミットメッセージを修正する
- oooの子を対話形式でリベース→まとめたいコミットを選択して前のコミットとスカッシュ→必要であればコミットメッセージを編集→強制プッシュ
- *コミットをまとめたい1つ前のコミットで右クリックする
- ブランチ同士を繋げる
- 詳しくはこちら
git ignore
- 指定したファイルを無視できる
- リポジトリ設定→「無視リスト」で編集できる
- もし共同開発などで自分のファイル変更が反映されていない時はgit ignoreファイルで除外されてしまっている可能性がないか聞いてみる