Git - fusionieren nicht Löschungen
-
09-10-2019 - |
Frage
Ich habe einen Zweig develop
mit Dateien:
- index.php
- test.php
Ich schaffe Zweig release
von ihm, wo ich Versionen gesetzt, machen kleine Fehlerbehebungen, etc, und löschen test.php , die nicht in Produktionsfreigabe geht. Dann will ich diesen Zweig in develop
fusionieren will aber hält test.php in Zweig entwickeln. Wie es geht? Standardverhalten von git merge
löscht einfach die Datei.
Lösung
1 / ich möchte lieber rebase entwickelt Zweig (wenn Sie es zu einem Remote-Repo noch nicht gedrückt haben) auf dem Master, dass alles meine Entwicklung machen noch kompatibel mit der neuesten Version (und alle seines Bug-Fixes).
Wenn Ihre aktuelle Entwicklung von Release (massivem Refactoring) wirklich anders ist, dann und nur dann würde ich prüfen Rosinenpickerei den Bug-Fixes.
2 / Wenn eine Datei muss gehalten werden, wie bei einer Zusammenführung ist, können Sie festlegen, ein Merge-Manager in einer .gitattribute
Datei nur in der Entwicklung von Branche.
Andere Tipps
Die konventionelle Weisheit ist, dass Sie verschmelzen nie von einem Release-Zweig in einen Entwicklungszweig. Stattdessen gilt die Fehlerbehebung Commits auf den Entwicklungszweig mit git cherry-pick
.