###前提・実現したいこと
gitのrebaseコマンドの挙動を実際に試していて,少し疑問に思ったので質問させていただきました・
前提条件を以下に記載いたします.
【時刻t1】
<リモート>
コミット1→コミット2
<ユーザーA>
コミット1→コミット2→コミット3A
<ユーザーB>
コミット1→コミット2→コミット3B
上記の状態からユーザーAがプッシュを行いました.
その際の上値を以下に示します.
【時刻t2】
<リモート>
コミット1→コミット2→コミット3A
<ユーザーA>
コミット1→コミット2→コミット3A
<ユーザーB>
コミット1→コミット2→コミット3B
この時刻t2の状態で,ユーザーBがプッシュしようとすると,競合が起きると思います.
そこで,ユーザーBが以下のコマンドを実行しました。
$ git rebase origin/master
$ git push origin master
$ git log
その際、ユーザーBのコミットログは以下になりました.
<ユーザーB>
コミット1→コミット2→コミット3A→コミット3B→マージコミット1→マージコミット2
###発生している問題・エラーメッセージ
一度しかコミットしていないのに,なぜかマージコミットが二つ作成されています.
この理由もよくわからないのですが,rebaseコマンドが普通の競合解決と同じような気がします.
なので,rebaseコマンドを使った場合のみに起こる状況とはなんでしょうか?
###解決したい疑問点
解決したい疑問点は以下の二点です.
・まず,一度しかコミットしていないのに,なぜかマージコミットが二つ作成された点.
・rebaseコマンドを実行して競合を解決した場合,他の競合解決と異なる点.
上記二点についてご教授していただければ幸いです.
よろしくお願いします.
###補足情報(言語/FW/ツール等のバージョンなど)
git version 2.11.0 (Apple Git-81)
回答1件
あなたの回答
tips
プレビュー