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?

More than 3 years have passed since last update.

EGitでマージとマージの取り消しをやってみた

Last updated at Posted at 2020-08-20

###マージ
masterブランチにdevAブランチのマージを行う。
現在masterブランチにはMain.javaファイルが作成されている状態。
スクリーンショット 2020-08-20 23.20.12.png

devAブランチはmasterブランチから作成したブランチ。
ブランチ作成後、DevAMake.javaファイルを作成した状態。
スクリーンショット 2020-08-20 23.22.19.png

カレントディレクトリをマージされる側(master)にし、「チーム」→「マージ」
マージ対象のdevAを選択し、「マージ」

マージを行うとmasterブランチはdevAで行った変更が取り込まれDevAMake.javaが追加された状態となる。
スクリーンショット 2020-08-20 23.28.08.png

マージを行ったヒストリーが追加される。
スクリーンショット 2020-08-20 23.31.39.png

###マージの取り消し(Revert)
先ほど行ったマージを取り消してみる。
現在マージはプッシュしていない状態。
ヒストリータブで取り消したいマージを選択し右クリック→「コミットを戻す」。
マージが取り消され、先ほどのマージで取り込まれたDevAMake.javaがいなくなった。
ヒストリーにはRevertコミットが追加される。
これでマージを行う前の状態に戻すことができた。
スクリーンショット 2020-08-20 23.37.33.png

###プッシュしたマージをRevertで取り消す
先ほどはプッシュしていない状態でマージの取り消しを行ったが、
次はプッシュしたマージの取り消しをしてみる。
まずはマージを行おうとしたが、問題が発生。
先ほどと同じ手順でマージを行うとdevAの変更が取り込まれない。
特にエラーも出ていない…。
調べてみるとこの場合マージをRevertしたコミットをRevertすると良いようだ。
以下に整理してみた。

1.マージした
2.マージをRevertした // こいつをRevertする

上記2のコミットをRevertすると1の状態(devAをマージした状態)となった。
スクリーンショット 2020-08-20 23.53.29.png

やっとマージした状態となったためpush。
スクリーンショット 2020-08-21 0.04.46.png

まずは先ほどと同じ手順で(「コミットを戻す」)でRevertしてみる。
マージでの変更は取り消された。
この状態でpushすると成功した。
スクリーンショット 2020-08-21 0.13.28.png

###マージをしなかったことにしたい(reset)
Revertは打ち消しのコミットであり、ヒストリーに履歴が残る。
resetを使うと、マージの変更点がなくなり、かつヒストリーからも
マージを行ったという履歴が消える。

まずマージを行った状態にする。
スクリーンショット 2020-08-23 14.18.26.png

id:b8733b1のマージコミットにより、masterブランチにはDevAMake.javaが追加されている。
このマージの変更をresetを使ったなかったことにする。
現在戻りたいコミットはid:39cd904
ヒストリータブで行を選択した状態で右クリック→「リセット」→「ハード」

マージを行ったことで追加されたファイルがなくなり、ヒストリーからもマージコミットを行った履歴が消えた。

スクリーンショット 2020-08-23 14.24.06.png

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?