0
1

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のRebaseについて

Posted at

はじめに

Gitでバージョン管理するときのRebaseの使い方についての備忘です。

開発コミットを繋げ直す

複数人で開発していると、開発コミットに対して他の人が自身の開発したソースをマージしていきます。

そうすると、自分が開発しているソースは現在の親ブランチとは状態が異なってきます。
この時にRebaseします。
手順は下記の通りです。

# 現在のブランチを確認する
git branch
# test1というブランチにいることを確認する

# 開発ブランチ(develop)に切り替える
git switch develop

# 現在の最新のソースをPullしてくる
git pull origin develop

# test1に切り替える
git switch test1

# Rebaseする
git rebase develop

# Rebase成功した場合は終了

# 競合した場合
# 競合したファイルを確認する
git status

# 競合したファイルの修正
vim file_name

# 競合したファイル全て修正完了したらaddする
git add file_name

# Rebaseを続行する
git rebase --continue

コミットをまとめる

リモートリポジトリに対してPushする前に、ローカルのコミットを後で見て分かりやすい単位にまとめておきたい。

手順は下記の通り。

# 現状のログを確認する
git log --oneline

# コミットをまとめる
# 下記4つ分のコミットをまとめる際のコマンドの例
git rebase -i HEAD~4

Rebaseすると下記が出力される

pick xxxxx commit message
pick xxxxx commit message
pick xxxxx commit message
pick xxxxx commit message

コミットをまとめる場合

2, 3番目のコミットを一番上のコミットにまとめる場合picksに変更して保存する

pick xxxxx commit message
s xxxxx commit message
s xxxxx commit message
pick xxxxx commit message

コミットメッセージを変更する場合

4番目のコミットのコミットメッセージを変更する場合はpickrに変更して保存する。

保存すると、コミットメッセージ変更画面に遷移するため、そこで変更したいメッセージに編集する

pick xxxxx commit message
pick xxxxx commit message
pick xxxxx commit message
r xxxxx commit message

まとめ

以上Rebaseについての備忘です。

ご参考までに

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?