2016-05-23 6 views
0

Hier ist das Sitzungsprotokoll meiner Github-Shell:Wie löse ich diese Fehler

C:\Users\Igor\OneDrive\Documents\dbhandler_app [master +258 ~0 -0 | +85 ~23 -269 !]> git commit 
U  dbinterface/Debug/dbinterface.Build.CppClean.log 
U  dbinterface/Debug/dbinterface.log 
U  dbinterface/ReadMe.txt 
U  dbinterface/database.h 
U  dbinterface/dbinterface.sln 
U  dbinterface/dbinterface.vcxproj 
U  dbinterface/dbinterface.vcxproj.filters 
U  dbinterface/dbinterface.vcxproj.user 
U  dbinterface/stdafx.cpp 
U  dbinterface/stdafx.h 
U  dbinterface/targetver.h 
error: commit is not possible because you have unmerged files. 
hint: Fix them up in the work tree, and then use 'git add/rm <file>' 
hint: as appropriate to mark resolution and make a commit. 
fatal: Exiting because of an unresolved conflict. 
C:\Users\Igor\OneDrive\Documents\dbhandler_app [master +258 ~0 -0 | +85 ~23 -269 !]> git merge 
error: merge is not possible because you have unmerged files. 
hint: Fix them up in the work tree, and then use 'git add/rm <file>' 
hint: as appropriate to mark resolution and make a commit. 
fatal: Exiting because of an unresolved conflict. 
C:\Users\Igor\OneDrive\Documents\dbhandler_app [master +258 ~0 -0 | +85 ~23 -269 !]> git merge --no-commit 
error: merge is not possible because you have unmerged files. 
hint: Fix them up in the work tree, and then use 'git add/rm <file>' 
hint: as appropriate to mark resolution and make a commit. 
fatal: Exiting because of an unresolved conflict. 

Es sieht aus wie ich nicht begehen kann, weil ich nicht fusionieren, sondern verschmelzen auch gescheitert.

Also, wie kann ich es lösen?

+0

Die Nachricht sagt sehr deutlich: ** Reparieren Sie sie in der Arbeitsbaum, und verwenden Sie dann git add/rm **. Nicht 'git merge',' git add' oder 'git rm'. Jede Datei, die ein "U" neben ihr hat, muss bearbeitet werden, um die Konflikte zu lösen und dann "git add" hinzuzufügen. – meagar

+0

@meagar, es gibt 2 Dateien im Verzeichnis dbinterface/Debug. Kann ich sie ausschließen? Weil sie während der Entwicklung mit jedem Build überschrieben werden. Oder muss ich sie reparieren und dann zu .gitignore hinzufügen? Vielen Dank. – Igor

Antwort

1

Eine Zusammenführung ist nur ein Commit mit mehreren Eltern. Ein Zusammenführungskonflikt funktioniert wie jede andere unfertige Work-in-Progress. Alle Dateien, die erfolgreich zusammengeführt wurden, werden bereits bereitgestellt (hinzugefügt). Alle Dateien, bei denen die Zusammenführung fehlgeschlagen ist, werden nicht bereitgestellt. Sie werden teilweise mit Markern (<<<<<) zusammengeführt, die die widersprüchlichen Zeilen zeigen. A git status zeigt Ihnen dies und gibt Ihnen Anweisungen.

Machen Sie das, was Sie normalerweise tun würden, um ein Commit zu beenden: Bearbeiten Sie die Dateien, die nicht verschoben sind, um die Konflikte zu beheben, und add sie. Wenn Sie alles hinzugefügt und Ihre Tests bestanden haben, übergeben Sie sie.

Weitere Informationen finden Sie im Abschnitt Basic Branching and Merging von Pro Git.