'topic'というブランチをチェックアウトしました。私はまだトピックに取り組んでいますが、現在マスターブランチにある変更を含めたいと思います。だから私はこれをしました:
$ git checkout topic
$ git rebase master
その後、ファイルのマージ競合が発生しましたxyz.txt
。そこで、ファイルを自分の望むものに変更し、gitで追加して、実行しましたgit rebase --continue
。
しかし、すぐに、同じファイルでマージの競合が発生しました。ファイルを再度修正しましたが、今回はgit reabase --skip
続行する必要がありました。
ただし、同じファイルでもまったく同じマージの競合が発生します。これはどのように起こっていますか?
編集:
以前は、この目的を達成するためにマスターをトピックブランチにマージしていました。それから私はリベースについて学びました。だから、それはそれと関係があると思います。
これが3回目のコミット直前のgitの状態です
$ git status
# Not currently on any branch.
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both modified: xyz.java
#
no changes added to commit (use "git add" and/or "git commit -a")
$ git ls-files -u
100644 cbf74a88604dd4ee0afe89d7aac1d179ce75e92c 1 xyz.java
100644 52841c2b4b6cc055251d533d5b83441d1329b412 2 xyz.java
100644 c45e7c6b979ec1e20b7dd70b38698193ea235abd 3 xyz.java
$ git log --graph --pretty=format:%d HEAD master topic
* (HEAD)
*
* (master)
*
*
*
*
*
*
*
*
| * (topic)
| *
| |\
| |/
|/|
* |
| *
| *
| |\
| |/
|/|
* |
| *
| *
| *
| *
| *
| |\
| |/
|/|
* |
| *
| *
| *
| *
| *
| *
| *
| |\
| |/
|/|
* |
* |
* |
|\ \
| * |
* | |
|/ /
| *
| *
| |\
| |/
|/|
* |
| *
| *
| *
| *
| *
| *
| *
| *
| *
| |\
| |/
|/|
* |
| *
| |\
| |/
|/|
* |
| *
| *
| *
| *
|/
*
*