104

dogブランチをにマージしましanimalた。コミットしようとすると、次のようになります。

Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution
both deleted:       ../public/images/originals/dog.ai
added by them:      ../public/images/original_files/dog.ai

ブランチごとに異なるディレクトリ名とファイル名がありました。animalブランチには私が望む変更があります。

ヘッドをリセットしようとすると動作しません。そして、他のgitアクション(削除、チェックアウトなど)を実行しようとすると、path not foundエラーが発生します。

これを解決するには、どのコマンドを実行する必要がありますか?

4

2 に答える 2

94

あなたがする必要があるのは、次のことだけです:

# if the file in the right place isn't already committed:
git add <path to desired file>

# remove the "both deleted" file from the index:
git rm --cached ../public/images/originals/dog.ai

# commit the merge:
git commit
于 2010-07-08T19:18:04.190 に答える
67

ファイルがすでにチェックインされていて、ファイルがマージされている (ただしコミットされていないため、マージの競合がファイルに挿入されている) 場合、この状況に対処する別の方法は、次のコマンドを実行することです。

git reset

これは HEAD に切り替わり、マージの競合を忘れて作業ディレクトリをそのままにするように git に指示します。次に、問題のファイルを編集できます (「アップストリームの更新」通知を検索します)。競合に対処したら、実行できます

git add -p

これにより、インデックスに追加する変更を対話的に選択できます。インデックスが良さそうに見えたら ( git diff --cached)、コミットできます。

git reset --hard

作業ディレクトリ内の不要な変更をすべて破棄します。

于 2012-06-19T05:50:31.397 に答える