2016-05-14 8 views
0

Guten Tag. Ich habe ein eigenes GitLab-Projekt und dies ist ein .NET-Entwicklungsprojekt. Ich verwende Visual Studio 2013 mit Git-Tools. Es war 6 Monate voller Vorteile mit dieser leistungsstarken Combo. Aber jetzt integrieren sich neue Leute in das Projekt. Also mache ich für verschiedene Arbeitsgruppen ein paar Klone von diesem Projekt mit einigen Dateien und Verzeichnissen gelöscht. Der erste war für Web Development.Dateilöschung auf einem Git-Merge beschränken

An diesem Punkt habe ich einen Test gemacht, um vom Web-Projekt zum großen zusammenzuführen (Dass es Klassen-Bibliotheken und das Web-Projekt selbst hat). Und es hat es großartig gemacht. Jetzt, eine Woche später, war ich bereit für die erste echte Zusammenführung. Und es hat versagt. Das große Projekt löschte die Dateien und Verzeichnisse, die ich in der Kleinen gelöscht hatte.

Ich weiß nicht, was mache ich falsch ?, Ich bin mir ziemlich sicher, dass die Befehle die gleichen sind. Ich schreibe sie in meiner Blocknote auf. Aber dieses Verhalten ist neu für mich. Also suche ich einen Weg, das Löschen im großen zu beschränken, wenn Merge-Prozess ausgeführt wird.

Kann mir bitte jemand helfen ?. Vielen Dank im Voraus

- == == UPDATE -:

Ich habe nur zu erkennen, dass mein Test aus der großen zu den kleinen war.

git clone WebVista http://versioner.domain.com/omelendez/WebVista.git 
git remote add WebMVC http://versioner.domain.com/omelendez/WebMVC.git 
git fetch WebMVC 
git checkout -b WebMVC WebMVC/master 
git checkout master 
git merge WebMVC

Konflikte sind in VS gelöst. Tatsache ist, dass es hier perfekt funktioniert. Keine Hinzufügung der Klassenbibliotheken, weil der Git ignoriert wird, benutzte ich ihn, um die Verzeichnisse und Dateien zu löschen. Als ich den Klon tat, ignorierte ich die Klassenbibliothek Projekte und lief diese Befehle:

git rm -r --cached . 
git add . 
git commit -m "Web Development Project"

Der Typ gegabelt dieses Projekt seine Änderungen und machte eine merge Anfrage. Das ist der gute Teil

Ich bin immer noch ohne Ahnung, wie man in den Großen einmischen. Wenn jemand eine Idee davon hat, werde ich es schätzen, wenn diese Person darüber schreiben kann.

Antwort

0

Nach einer Weile konnte ich das auflösen. Die Löschaktion bleibt als Spur in der Git-Historie erhalten, wenn sie in einem geklonten Repo ausgeführt wurde. Also musste ich alle Dateien von einem vorherigen Commit wiederherstellen.

nach dem "schlechten" merge:

 
git checkout HEAD~1 -- filename.ext 
git checkout HEAD~1 -- directory1 <-- (If u need to restore a whole directory) 

Later in the VS I made the changes respectively, about adding the projects manually. Then commit and sync. 

Dank im #git IRC-Kanal für die Unterstützung cbreak. Es funktioniert sehr gut.

Verwandte Themen