Kann nicht auschecken, Datei ist nicht zusammengeführt


87

Ich versuche, die Datei aus meinem Arbeitsverzeichnis zu entfernen, aber nachdem ich den folgenden Befehl verwendet habe

git checkout file_Name.txt

Ich habe die folgende Fehlermeldung erhalten

error: path 'first_Name.txt' is unmerged

Was ist das und wie kann man es lösen?

Es folgt mein Git-Status

$ 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")

Das wurde in den Staging-Index verschoben, aber ich kann den Ordner Explore_California /
Naseer am

1
Wenn Sie löschen möchten, machen Sie explore_californiaeinfach ein, rm -r explore_californiada es nicht von git verfolgt wird.
gebrochener Fuß

Das hat mich gebeten, mehr als 50 Dateien einzeln zu entfernen und ich drücke immer noch y?
Naseer

Aber es hat endlich funktioniert. Danke
Naseer

Antworten:


28

So entfernen Sie verfolgte Dateien (first_file.txt) aus git:

git rm first_file.txt

Verwenden Sie zum Entfernen nicht verfolgter Dateien Folgendes:

rm -r explore_california

129

Wenn Sie Änderungen verwerfen möchten, die Sie an der Datei vorgenommen haben, haben Sie folgende Möglichkeiten:

git reset first_Name.txt
git checkout first_Name.txt

2
Benötigt der doppelte Bindestrich arg? Git Reset - Vorname.txt und Git Checkout - Vorname.txt
Hedgehog

2
Sie verwenden das nur --, um den Baum, den Sie auschecken möchten, von den Dateien zu trennen, die Sie auschecken möchten. Um eine ausführlichere Erklärung zu erhalten, machen Sie hier eine Beute: stackoverflow.com/questions/13321458/…
cristianoms

4
Ich denke, es ist sicherer, den doppelten Bindestrich zu verwenden git reset -- first_Name.txtund git checkout -- first_Name.txtnur für den Fall, dass der Dateiname mit einem Ihrer Zweige / Tags / Commits identisch ist.
Joeytwiddle

18

Status sagen Ihnen, was zu tun ist.

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

Sie haben wahrscheinlich einen Stash oder etwas anderes angewendet, das einen Konflikt verursacht.

entweder hinzufügen, zurücksetzen oder rm.


2
Genau ich habe einen Vorrat angelegt. Die Frage ist nun, wann add, wann resetund wann ich es verwenden soll rm. Zum Beispiel möchte ich nicht die versteckte Version behalten, sondern die Version von Upstream?
Pro Backup

16

Folgendes wird für mich gearbeitet

git reset HEAD

Ich habe folgenden Fehler erhalten

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

Dann rannte ich

git reset HEAD

es funktionierte


4

Ich denke nicht ausführen

 git rm first_file.txt

ist eine gute Idee.

  1. Wenn Git bemerkt, dass Ihre Dateien nicht zusammengeführt sind, sollten Sie sicherstellen, dass Sie sie festgeschrieben haben.

  2. Und dann öffnen Sie die Konfliktdatei:

    cat first_file.txt

  3. Beheben Sie den Konflikt

4.

git add file

git commit -m "fix conflict"

5. git push

es sollte für dich funktionieren.


1

In meinem Fall habe ich festgestellt, dass ich die Option -f benötige. Wie zum Beispiel:

git rm -f first_file.txt

um den Fehler "muss zusammengeführt werden" zu beseitigen.


0

Ich habe mich durch die folgenden 2 einfachen Schritte gelöst:

Schritt 1: Git-Reset Kopf Schritt 2: Git hinzufügen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.