Wie kann ich die neuesten Änderungen in meinem Git-Zweig erhalten, ohne dass es so aussieht, als würde ich diese Änderungen übernehmen und trotzdem meine Pull-Anfrage sauber halten.

385
adam0101

In Git haben wir eine developVerzweigung, von der aus wir featurefür jedes Feature Verzweigungen erstellen. Ich sehe zwei Möglichkeiten, die neuesten Änderungen developmit meinem Funktionszweigcode zusammenzuführen.

  1. Fügen Sie den neuesten developCode in meinen Funktionszweig ein.
  2. Füge meinen Feature-Zweig in den lokalen developZweig ein.

Wenn ich den ersten Weg mache, beinhaltet die Pull-Anfrage, die ich featurefür eine Codeüberprüfung mache, den endgültigen zusammengeführten Code, bei dem Änderungen developsich mit Änderungen in meinem überschneiden feature, was zwar gut ist, aber jetzt auch den gesamten geänderten Code develop, den ich nie berührt habe . Dies macht es dem Code-Reviewer schwer zu sagen, welcher Code genau überprüft werden soll. Wenn ich das Feature wieder zusammenfügen developmöchte, habe ich eine Menge Code, den ich nie berührt habe, weil ich ihn hineingezogen habe develop.

Wenn ich es auf die zweite Art und Weise mache, wurde die Pull-Anforderung, die ich featurefür eine Codeüberprüfung einstelle, nicht zusammengeführt, und daher überprüft der Codeüberprüfer nicht den Code, dessen Entwicklung letztlich vorangetrieben wird.

Gibt es eine Möglichkeit, das Beste aus beiden Welten zu haben, bei dem die Pull-Anforderung, die ich an mich stellt, meinen Code mit Merge-Konflikten aufgelöst hat, aber nicht eine Reihe von Dateien auflistet, an developdenen andere gearbeitet haben, die ich aber nie berührt habe?

0
Wenn Sie Commits aus "development" gezogen haben, werden sie beim Zusammenführen zu "weiter" nicht als neu angezeigt. Sie sind ja schon auf "entwickeln". Daniel B vor 8 Jahren 0
Sie sollten auch nicht tun. Der Vorgang des Zusammenführens von Features und des aktuellen Entwicklungszweigs sollte abgeschlossen sein, sobald das Feature als etwas akzeptiert wurde, das Ihr Projekt beabsichtigt. Dies würde idealerweise nach einer Codeüberprüfung nur Ihres Feature-Codes erfolgen. Der springende Punkt ist, dass Sie einen Zweig für ein bestimmtes Entwicklungs-Commit ausgeführt haben. Sie würden bis zum Ende der Zeit damit verbringen, Ihren Feature-Zweig mit dem ständig wechselnden Entwicklungszweig zusammenzuführen. Wie Daniel darauf hinweist, würden nur die Änderungen an Ihren Features überprüft, da sich nur dies geändert hat. Stehen Sie zu meiner ersten Hälfte. Ramhound vor 8 Jahren 0
@ Ramhound, fühlen Sie sich nicht unbehaglich, wenn Sie nicht zusammengeführten Code genehmigen, dessen Verhalten sich nach dem Zusammenführen ändern könnte? adam0101 vor 8 Jahren 0
Da es sich um einen Entwicklungszweig handelt, sollte es stabil genug gehalten werden, damit alle Funktionen funktionieren. Es ist jedoch auch eine Arbeit in Arbeit, dh der einzige Code, der nicht überprüft wird, ist der, was erforderlich ist, damit er funktioniert. Eventuell wird eine zweite Codeüberprüfung durchgeführt, um alle Änderungen an Feature-Zweigen im Entwicklungszweig im Vergleich zum stabilen Zweig zu überprüfen, den ich wieder aufnehmen würde. Ich nehme an, Sie senden nicht nur Entwicklungscode an Kunden. Abhängig davon, wie flexibel Ihr Projekt ist, gibt es viele Gedanken zu neueren Projektmanagementstilen. Ramhound vor 8 Jahren 0

0 Antworten auf die Frage