0
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?

Git勉 #2 コミット履歴を綺麗にしたい

Posted at

脱初心者を目指してアウトプットに挑戦中。
やたらと恐れているGitを慣れで克服したいシリーズです。

今回のお題

チーム内である日、
「Github上のコミット履歴を綺麗にしたい」 という話題がありました。

状況として少々イレギュラーですが、

  • 複数人でプロトタイプを実装しており、mainブランチにどんどんpushしている
  • マージの自動コメントが少々煩わしい
  • 過去のコミットが点在していて読みにくい

こんな状況における課題でした。

普通にマージすると、コミットした時刻に合わせて履歴が表示されます。
以下の状況を例にすると A→B→C→D と表示される。

しかし、作業した人ごとに一連の修正をまとめたい、というのが今回やりたいことです。
履歴上は A→D→B→C と表示したい。

before:作業状況

after:普通のマージ

after:やりたいこと

実現方法

rebaseコマンドを使うといい感じに整理できる模様。(参考
自分の作業をまとめて先頭に持っていくことができ、マージコミットが残らなくなります。

注意点として、hashが書き換わること。

# 0.前提としてローカルのmainにコミット済み

# 1.最新のリモートリポジトリを取得
git fetch origin

# 2.origin/main をベースにローカルの main を再構築
git rebase origin/main

終わりに

gitを理解する際に「イメージ図」を作成したいのですが、
その可視化を簡単にする方法に少々悩んでいました。
そんな中、Mermaidを使ったrebaseの図 を発見し、mermaidを使った表現を倣わせていただきました。誠に勝手ながら、ありがとうございます。

rebaseコマンド自体、もう少し理解したいところ。
勉強したのち、記事は更新します。
https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E6%A9%9F%E8%83%BD-%E3%83%AA%E3%83%99%E3%83%BC%E3%82%B9

0
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
0
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?