2017-08-28 1 views
1

Manchmal verzweifle ich, um ein Feature zu schreiben, aber brauche eine erste lokale commit, die bestimmte Dateien auf eine Weise zwickt, damit ich lokal arbeiten kann. Diese Änderungen werden nicht zurück in den Master zusammengeführt. Wenn die Verzweigung fertig ist, rebase ich sie und entferne den initialen Commit, der typischerweise mit der Protokollnachricht "DONT MERGE" beginnt. Aber von Zeit zu Zeit gelingt es mir immer noch, das zu Master zu machen.Wie erlaube ich bestimmte Git-Commits zu einem Zweig, aber verhindere, dass sie in den Master eingebunden werden?

Wenn ich durch den git-hooks-Ordner gucke, sehe ich Pre/Post Commits, aber nichts scheint ideal für Merges zu sein. Kann einer dieser Hooks Commits betrachten, bevor sie zusammengeführt werden? Ich möchte, dass dies lokal auf meiner Maschine funktioniert, also suche ich nicht nach Lösungen, die auf einen externen Server wie GitHub oder Bitbucket verweisen.

+0

Nun, wenn Ihr Team ist so etwas wie GitHub oder Bitbucket verwenden, dann ist es auf jeden Fall möglich, um zu verhindern, dass jemand direkt in eine Filiale fusioniert. Leiten Sie stattdessen jeden weiter, der eine Pull-Anforderung durchgehen möchte. –

+0

@TimBiegeleisen Ich benutze Git lokal, Klärung zu Frage hinzufügen. –

+1

Warum müssen Sie diese Art von Commit machen? Es klingt für mich, wie Sie Dateien wie Konfigurationsdateien und ähnlich zu Ihrem Repository, die komplett andere Lösungen als das Verschmelzen zu verhindern hat. –

Antwort

-1

Ich werde @ Lasse Kommentar als Antwort vorschlagen:

Es klingt wie Sie verschiedene Konfigurationen für die lokale und Produktionsentwicklung, in diesem Fall haben Sie eine Konfigurationsdatei in mit, die ignoriert aussehen sollte, ist von Git, dass Sie lokal ändern. Sie könnten verschiedene Beispielkonfigurationsdateien einpflegen, die nicht tatsächlich verwendet werden, so dass Sie nicht alle Details merken müssen. Zum Beispiel:.

config.txt 
configProductionExample.txt 
configLocalDevExample.txt 

Oder könnten Sie mehrere Startskripts verpflichten, eine für jede Umgebung, die Sie in beispielsweise arbeiten möchten:

startProduction.sh 
startLocalDev.sh 
Verwandte Themen