search
LoginSignup
28

More than 5 years have passed since last update.

posted at

updated at

Organization

Gitでよくあるハプニングの対策とコマンドメモ

自分用の逆引き対策メモとして作りました。
他にも困っている人の役に立てたら嬉しいなぁ。

間違えて必要なファイルを消しちゃった

git checkout HEAD [ファイル名]

コミット前ならこれで復活できる

masterにコミットしちゃった

■ローカルにとどまっている場合

新しいブランチを切って回避

  • 新しいブランチを切って、そのまま変更を連れて行く
git checkout -b [新規ブランチ名]
  • 一回コミットしてしまったブランチの方は、リセットをしてリモートと状態をあわせておく
git reset --hard

■pushしてしまった場合

  • まずは深呼吸する
  • エンジニアを召喚する
    • このとき、何をしていて、どんな状態になったかを端的に共有する
    • そしてどうなって欲しいかを、端的に伝える
    • 擬音で表現しないように気をつける

masterにマージした時にコンフリクトする

地道にコンフリクトを解消していく

  • まずはdiffでコンフリクトしている箇所を確認する
git diff
  • 確認して、修正対応できたら、add
git add

コミットをなかったことにしたい

git reset --hard HEAD^

すでにあるコミットをまとめたい

git  rebase -i [コミットID]

作業したファイルをコミットせずに破棄したい

git reset --hard

新規作成ファイルだとこれだけじゃ消えないので注意

特定のcssや文章がどこに書いてあるのか見つけたい

git grep [検索したいワード]

便利なオプション

  • 私がよく使うオプション
    • -n : 対象の行番号も表示する

あとはhelp叩くか、下記参照

HEADの位置を過去に移動したい

git checkout [コミットID]

差し込み案件のbranchの扱い方

  • 新しいbranchをどこからきるのかが重要

コミットし忘れた変更を、一つ前のコミットに混ぜたい

git commmit --amend

コミットメッセージにtypoを見つけたからなおしたい

git commmit --amend

branchが遅れすぎてて、うまくマージできない

git rebase [リベース先のbranch名]

次のフォースPushもも覚えるといいけど、難しいところもある。
マージ運用のメリットと一緒に、またそのうちメモ追加したい

ローカルとリモートのbranshの歴史が変わって、pushできなくなった

 git push -f [リポジトリの名前] [ブランチ名]

ローカルのbranchを破棄して、リモートのbranchを再度取り込みたい

  • 違うbranchに移動
  • ローカルのbranchを削除
  • リモートのbranchにcheckout

カレントのbranchを切り替えずに、リモートのmasterをとりこみたい(リリースされたbranchに乗っかりなおしたい)

git pull --rebase

変更したbranchの一部だけ、別のbranchに持ってきたい

git cherry-pick

一瞬違うブランチを見に行きたいけど、変更ファイルがあるよって怒られる

git stash

■stashの付属コマンドたち

1)stashしたものが複数あって、リストを見たい時

git stash list

2)戻す時

git stash apply [stashのリストナンバー]

最新だったらリストナンバーは省略可

3)リストから消す時

git stash drop [stashのリストナンバー]

最新だったらリストナンバーは省略可

4)リストから消す時その2

git stash pop [stashのリストナンバー]

最新だったらリストナンバーは省略可

stagingからおろしたい

git reset HEAD [ファイルパス]

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
28