LoginSignup
1
0

gitの修正や取消のいろいろ

Last updated at Posted at 2023-03-19

【gitの修正や取消のいろいろ】

その都度、なにかあったら追記する方針

push 取り消し

  • git push後に間違いに気づくことってありますよね。

git reset

※ Pull Request 作成後は、git resetはやめておく。

  • local の commit,add,ソースコードの変更は残して、pushのみ取り消す
$ git reset --soft HEAD^
  • local の commit,add,ソースコードの全変更を取り消す。
$ git reset --hard HEAD^
  • ※ 上記のコマンドは極力使わない方が良いが、もし使って間違ってしまったら、git reflogを使う。
# 操作履歴を見て、戻りたい地点の数字を確認
$ git reflog

# 戻りたい地点の数字を指定する(例は「1」)
$ git reset --hard HEAD@{1}
  • git reset後、修正したものを pushするには「-f」オプションをつけて強制的にpushする必要がある。
    • 以前の commitとコンフリクトエラーになっているので。
$ git push -f origin HEAD

git revert

※ Pull Request 作成後は、git revertするとよい。

  • 変更を取り消すのではなく、打ち消す(不要な履歴が残る)
$ git revert HEAD
  • 上記を実行すると、commmitを打ち消すcommitができるので、再度 pushする。
$ git push origin HEAD

commit message の修正

git pushする前に修正する。

  • 「--amend」で上書く
$ git commit --amend

add 取り消し

git addした変更を、全て一括で取り消す

$ git reset .

ファイルやディレクトリを指定して、取り消す

$ git reset <ファイル>
$ git reset </ディレクトリ/>

1番最初のgit addを取り消す場合

$ git rm --cached <ファイル>
$ git rm --cached -r </ディレクトリ/>

--cachedを付け忘れると、間違ってまだどこのも保存していないファイル実体を削除してしまうことになる。

add の変更内容を確認

HEAD からインデックスの差分を確認
--cachedにより、インデックスへの変更状況を確認

$ git diff --cached

branch削除

$ git push origin :<ブランチ名>

rebaseを中断

$ git rebase --abort
1
0
0

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
  3. You can use dark theme
What you can do with signing up
1
0