私はブランチX
に取り組んでいました。コミットしてプッシュしました。
それから、cherry-pick
それをブランチY
にしたかった。しかし、マージされていないファイルが存在するため、次のメッセージが表示されました。
error: 'cherry-pick' is not possible because you have unmerged files.
hint: Fix them up in the work tree,
hint: and then use 'git add/rm <file>' as
hint: appropriate to mark resolution and make a commit,
hint: or use 'git commit -a'.
fatal: cherry-pick failed
ここで、ブランチY
を削除してから、ブランチY
を再作成し、チェリーピックしようとしたファイルを手動で編集したいだけです。
現在、ブランチは作業中のブランチであるため、削除できません。他のブランチをcheckout
できません。ブランチを変更しようとすると、次のエラーが表示されます。
mod/assign/locallib.php: needs merge
error: you need to resolve your current index first
ブランチY
を失うことなく、ブランチX
を削除するだけです。
編集#1
ファイルを編集しましたmod/assign/locallib.php
git status
を実行すると、次のメッセージが表示されます。
# On branch MDL-38267_24
# Unmerged paths:
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both modified: mod/assign/locallib.php
#
git add ..
に追加するファイルは何ですか?
競合ファイルはすでに編集されているため、必要なのは
git add mod/assign/locallib.php
それから
git cherry-pick --continue
マージしようとしました(git merge
またはgit pull
)および競合が解決されていないファイルがあります。もしあなたがそうするなら git status
、おそらく「両方によって変更された」ファイルがリストされます。他のことをする前に、これに注意する必要があります。
行う git mergetool
そして、ファイルを1つずつ表示します。競合が解決されるようにファイルを修正すると、先に進むことができます。