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?

More than 1 year has passed since last update.

【Git】リベースの使い方が分かっていなかったのでメモ

Posted at

リベースとは?

マージではなく、コミット履歴を移動したり修正、削除したりすること
ただ、マージと似たような処理をすることになる

私も完全に理解はしていないので下のようなイメージで考えています。
(間違っていたらすみません)
image.png

develop2の開発を進めていて、develop2の情報を保持したまま、develop1の情報を取り込みたい!となった時にリベースを使うと認識しています。
リベースする前はC5,C6となっていたコミットIDはリベースするとC5',C6'と変更される用です。
いろいろ理由はあるようです。↓
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

VSCodeで試してみる

実際にやってみたいと思います。

1. develop1、develop2を作成

> git branch
*develop1
develop2

2. それぞれに変更を加える
develop1↓
image.png

develop2↓
image.png

test.txtは共通のファイルで中身は

develop1/test.txt
aaaaaaaa
bbbbbbbb
cccccccc
develop1
develop2/test.txt
aaaaaaaa
bbbbbbbb
cccccccc
develop2

となっています。

そのほかにdevelop1にはtestDevelop1.txt、develop2にはtestdevelop2.txtを加えています。

3. develop2ブランチにリベースする
vscodeでリベースしていきます。
develop2ブランチに移動して、「・・・」からブランチ、ブランチのリベースを選択します。
image.png

リベース先のブランチでdevelop1を選択します。
image.png

test.txtでコンフリクトが起きますが、解決してリベースが終了すると、
image.png
develop2ブランチにtestDevelop1.txtが取り込まれました。

マージを繰り返すより、リベースをしていった方が、遡る際に手間が少なくなるようなので適切な場面で使用していきたいですね

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?