1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

reset, revert, rebaseの違いと触ってみた

Last updated at Posted at 2024-06-30

reset, revert, rebaseの違いご存知ですか?
サクッとまとめました!

reset

  • Gitリポジトリ内のコミット履歴やインデックスを変更するためのコマンド
  • 特定のコミットまで戻したり、インデックスをクリアしたりする場合に使用する
  • 作業ディレクトリやステージングエリアの状態を変更する
コマンド
git reset [--soft | --mixed | --hard] [commit]

--soft 活用例:直前のコミット内容を修正したい時に使う
--mixed 活用例:ステージしたものを取り消したい
--hard 活用例:ひとつ前のコミットまでまるごと消したい

お試し_soft → commitした状態からadd(ステージング)状態に戻す

soft.png

お試し_mix → commitした状態から作業状態に戻す

Mix1.png

お試し_hard → commitした状態から無に戻す

Hard1.png
Hard2.png

revert

  • Gitで特定のコミットを取り消すために使用されるコマンド
  • 過去のコミットを取り消し(履歴は残る)、その取り消しを新しいコミットとして履歴に追加する
  • 履歴を安全に変更するために使用する
コマンド
git revert [commit]

### 特定のコミットを取り消す
revert commit.png

コミットメッセージ編集

revert2.png

revert --edit叩いた後の画面遷移

revert1.png

rebase

  • Gitの分岐を調整し、コミット履歴を整理するためのコマンド
  • ブランチをベースにしている他のブランチの変更を取り込む
  • コミットの履歴を綺麗に整理する
コマンド
git rebase [branch]

スクリーンショット 2024-06-30 18.37.35.png

git pull との違い

  • 履歴が直線的になり、読みやすくなる。
  • マージコミットが生成されないため、履歴がクリーンになる。
  • 自分の作業ブランチをクリーンに保ちたい場合。
    • 共有ブランチや複数人での共同作業では、git pullがいいかも

参考

reset https://www.r-staffing.co.jp/engineer/entry/20191129_1
revert https://qiita.com/chihiro/items/2fa827d0eac98109e7ee
rebase https://zenn.dev/tana0102/articles/475d8952933af6

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?