チェックアウトできません、ファイルはマージされていません


87

作業ディレクトリからファイルを削除しようとしていますが、次のコマンドを使用した後

git checkout file_Name.txt

次のエラーメッセージが表示されました

error: path 'first_Name.txt' is unmerged

それは何ですか、それを解決する方法は?

以下は私のgitステータスです

$ git status
On branch master
You are currently reverting commit f200bf5.
  (fix conflicts and run "git revert --continue")
  (use "git revert --abort" to cancel the revert operation)

Unmerged paths:
  (use "git reset HEAD <file>..." to unstage)
  (use "git add <file>..." to mark resolution)

        both modified:      first_file.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        explore_california/

no changes added to commit (use "git add" and/or "git commit -a")

それはステージングインデックスに移動しましたが、フォルダexplore_california /をクリーンアップできません
Naseer

1
削除したい場合はexplore_california、その後、単に行うrm -r explore_californiaことがgitので追跡されていないので。
壊れた足2014年

それは私に50以上のファイルを個別に削除するように要求し、それでもyを押しているのですか?
naseer 2014年

しかし、それはついに機能しました。ありがとう
Naseer

回答:


29

追跡されたファイル(first_file.txt)をgitから削除するには:

git rm first_file.txt

また、追跡されていないファイルを削除するには、次を使用します。

rm -r explore_california

130

ファイルに加えた変更を破棄する場合は、次の操作を実行できます。

git reset first_Name.txt
git checkout first_Name.txt

2
ダブルハイフン引数が必要ですか?git reset --first_name.txt and git checkout --first_name.txt
痴呆ハリネズミ

2
を使用して、--チェックアウトするツリーをチェックアウトするファイルから分離するだけです。より多くの深さの説明に、ここでの戦利品を取る:stackoverflow.com/questions/13321458/...を
cristianoms

4
私はそれが二重ハイフンを使用する方が安全だと思うgit reset -- first_Name.txtし、git checkout -- first_Name.txt念のため、ファイル名はあなたの枝/タグ/コミットのものと同じです。
joeytwiddle

18

ステータスはあなたに何をすべきかを教えてくれます。

Unmerged paths:
  (use "git reset HEAD <file>..." to unstage)
  (use "git add <file>..." to mark resolution)

おそらく、競合を引き起こす隠し場所などを適用しました。

追加、リセット、またはrmのいずれか。


2
まさに私は隠し場所を適用しました。ここで問題となるのはadd、いつ、いつreset、いつ使用するrmかです。たとえば、隠しバージョンを保持したくないが、代わりにアップストリームからのバージョンを保持したいですか?
プロバックアップ

16

以下は私のために働いています

git reset HEAD

次のエラーが発生していました

git stash
src/config.php: needs merge
src/config.php: needs merge
src/config.php: unmerge(230a02b5bf1c6eab8adce2cec8d573822d21241d)
src/config.php: unmerged (f5cc88c0fda69bf72107bcc5c2860c3e5eb978fa)

それから私は走った

git reset HEAD

機能した


4

私は実行するとは思わない

 git rm first_file.txt

良い考えです。

  1. gitがファイルがマージされていないことに気付いたら、それをコミットしたことを確認する必要があります。

  2. 次に、競合ファイルを開きます。

    cat first_file.txt

  3. 競合を修正する

4.4。

git add file

git commit -m "fix conflict"

5.5。 git push

それはあなたのために働くはずです。


1

私の場合、-fオプションが必要であることがわかりました。次のような:

git rm -f first_file.txt

「マージが必要」エラーを取り除くため。


0

私は以下の2つの簡単なステップを実行することで解決しました:

ステップ1:git resetヘッドステップ2:gitadd。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.