Entfernen/ausblenden git-Zweige löschen, ohne commit-Historien

Situation:

Ich habe ein Haupt-repo mit einem Haupt-dev-Zweig und viele "experiment" Zweige sprießen aus der it (z.B., exp1 und exp2). Der Zweck dieses experiment Zweige dienen als Platzhalter für Experimente, erzeugen numerische Ergebnisse. Ich notieren Sie die branch-name (und die commit-ID der experiment-Filialen, so dass ich zurückkehren kann, der begeht genau sehen, den code und die Geschichte hinter den Ergebnissen.

Aber, nun, es gibt so viele experiment Zweigen, daß es schwer zu finden Sie die wichtigsten Baum. Also, ich bin ein überdenken meiner Strategie für das halten Platzhalter, um den code hinter jeden Satz von Ergebnissen (d.h., jedes experiment). Natürlich könnte ich auch einfach sparen, die arbeiten dir in jeder Filiale, aber es wäre schön, halten Sie die commit-Historie auch.

Mögliche Lösung:

Einer Möglichkeit, damit umzugehen, ist, sich zu bewegen, das experiment Filialen in Ihrer eigenen repos, jedes Wesen verwurzelt in der Kind-Knoten den entsprechenden Knoten in der commit-Historie der dev-branch. Hier ist eine illustration, was ich meine:

Entfernen/ausblenden git-Zweige löschen, ohne commit-Historien

Klicken Sie auf hier für größere version des Bildes (auf imgur.com).

So, zum Beispiel, für die Filiale exp1 würde ich gerne exportieren, verpflichtet A->B->C zu einem separaten repo verwurzelt zu Begehen A. Dann kann ich nur Datensatz den hash des commit P1 so, dass ich weiß, wo die exp1 Zweig herab.

Frage:

Wie kann ich das tun?

Bessere Frage:

Auf der anderen Seite, ich vermute stark es ist eine viel bessere Strategie, zu tun, was ich tun will---nämlich, entrümpeln Sie den Baum, der visuellen Inspektion aber halten Sie Platzhalter, um vor der äste, so kann ich zu Ihnen zurückkehren, wenn nötig. Also, kann jemand empfehlen, eine Strategie für das?

  • Ich habe gerade halten Sie ein separates "Archiv" remote-repo, dass ich push die alten Zweige auf, dann löschen Sie aus meinem lokalen repository.
  • Das klingt wie eine ziemlich gute Idee. Wie könnte ich ausschließen, dass ein remote-repo von meinem git log-Befehle? Zum Beispiel, ich in der Regel laufen git log --oneline --graph --decorate --all. Wie könnte ich das ändern das git-log-Befehl nicht angezeigt, eine bestimmte remote?
  • Gute Frage. Jetzt mache ich das nicht mich so ich bin mir nicht wirklich sicher. Wenn Sie herausfinden, achten Sie darauf, lassen Sie es mich wissen. 😉
  • Auch für deine vorgeschlagene Lösung, möchten Sie vielleicht zu schauen in das git replace
  • Nur eine Frage: Es klingt so, als wenn du immer die exp-Filialen um nur für den Fall, dass Sie brauchen, um zu finden die commit-später. Warum gehst du nicht einfach taggen, anstatt zu halten die Zweige?
  • Vielleicht ist das, was ich tun sollte, eigentlich.

InformationsquelleAutor synaptik | 2014-08-06
Schreibe einen Kommentar