2016-04-07 18 views
1

Meine Terminologie kann ein wenig durcheinander sein.Git ignorieren und fusionierte Remote-Dateien nicht verfolgen

Ich habe 2 Repos. Nennen wir das eine Elternteil und das andere Kind. Kind ist abhängig von Elternteil zu arbeiten.

Ich erlaube Child, Eltern Updates durch git remote add parent [email protected] zu verfolgen.

In Child ich setup .gitattributes merge = unsere für bestimmte Dateien, die wie liesmich.md üblich sein, so dass, wenn ich Parent mit Child zusammenführen, Childs Readme bleibt intakt. Wenn ich die Zusammenführung in Child mache, werden einige zusätzliche Dateien hinzugefügt, die durch .gitignore vom Child-Repo ausgeschlossen werden.

Alles scheint gut zu funktionieren, bis ich Änderungen an Parent vornehmen und in Child zusammenführen. Plötzlich Kind wird beginnen, neu hinzugefügte Dateien zu Parent zu verfolgen. Auch habe ich ein Problem, wo , wenn ich eine der Parent-Dateien in meiner lokalen Kopie von Child löschen Ich kann nicht zwingen, die Zusammenführung wieder, um Eltern die neuesten Dateien zu bekommen?

Ich realisiere, dass die ganze Sache ein bisschen whack sein kann, aber ich muss es wirklich zur Arbeit als Sub-Module nicht schneiden, 1 Repo + mehrere Niederlassungen vollständig fehlschlägt & Gebäude Module/Pakete hat auch seine Herausforderungen.

+0

1. .gitignore funktioniert nur auf 'git status' und gleicher Ebene. Das heißt, wenn einige ansonsten ignorierte Dateien zu einem Commit hinzugefügt wurden, bleiben sie dort, kein Ausschluss.] – user3159253

+0

Wahrscheinlich wäre es besser, wenn Sie mehr über die Aufgabe erzählen, die Sie zu lösen versuchen, vielleicht mit einigen realen Beispielen von beiden Repositories aktuelle und gewünschte Strukturen. – user3159253

+0

@ user3159253 Banking-Anwendung in Laravel gebaut. Das Unternehmen möchte, dass wir diese Plattform für verschiedene Projekte mit unterschiedlichem Styling wiederverwenden. Wenn der "Kern" aktualisiert wird, müssen alle Projekte aktualisiert werden, aber ihr Design muss intakt bleiben. Das V von MVC kann zwischen Projekten drastisch unterschiedlich sein. MC bleibt immer gleich. – Wancieho

Antwort

0

Die obige Frage ist nicht möglich zu erreichen. Wie von @ user3159253 erwähnt, werden die Dateien nachverfolgt. Es gibt noch ein weiteres Problem: Wenn Dateien in Ihrer lokalen Version gelöscht werden, können Sie Git nicht dazu bringen, sie zu "aktualisieren", da es die Zusammenführung für aktuell hält.