Softwareentwicklung und Projektmanagement

In Git haben zwei Entwickler auf verschiedenen Branches dieselbe Zeile derselben Datei geändert, und dann wurde ein Branch in den anderen gemergt. Was geschieht dabei?

  1. ADie Änderung mit dem neueren Commit-Zeitpunkt wird automatisch übernommen und die ältere verworfen
  2. BDie Änderungen des aufnehmenden Branches haben immer Vorrang, und die Änderungen des anderen Branches werden automatisch verworfen
  3. CDer Merge hält mit einem Konflikt an, und ein Entwickler prüft den Inhalt und löst ihn auf, indem er entscheidet, welche Änderung bleibt (oder wie beide kombiniert werden)
Antwort und Erläuterung anzeigen

Antwort: C. Der Merge hält mit einem Konflikt an, und ein Entwickler prüft den Inhalt und löst ihn auf, indem er entscheidet, welche Änderung bleibt (oder wie beide kombiniert werden)

Ein Git-Merge vergleicht die Änderungen beider Branches seit ihrem gemeinsamen Vorfahren und kombiniert Änderungen an verschiedenen Stellen automatisch. Wurde dieselbe Stelle auf beiden Seiten geändert, lässt sich nicht maschinell entscheiden, welche richtig ist; der Merge hält daher mit einem Konflikt an, und beide Fassungen werden in der Datei markiert. Der Entwickler bearbeitet die Datei, um den Konflikt aufzulösen, testet und committet dann. Häufig zu integrieren, statt Branches lange getrennt zu halten, ist ein wirksames Mittel, Konflikte zu verringern.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Softwareentwicklung und Projektmanagement

  1. Welche Methode zum Review von Entwurfsdokumenten oder Quellcode wird von einem Moderator geleitet, weist den Teilnehmern Rollen zu, wird formal mit Checklisten und Ähnlichem durchgeführt und hält die gefundenen Mängel fest und bestätigt ihre Behebung?
  2. Nach einer Firmware-Version, die bekanntermaßen korrekt funktioniert, gibt es 1000 Commits, und der neueste Commit enthält einen Fehler. Der Fehler wurde durch einen einzigen Commit eingeführt und tritt in jedem späteren Commit auf. Wie oft muss die Firmware höchstens gebaut und getestet werden, wenn der verursachende Commit wie mit git bisect durch binäre Suche ermittelt wird?
  3. Wie heißt in einem Projektstrukturplan (WBS), der die Arbeitsergebnisse und Arbeiten eines Projekts hierarchisch zerlegt, das Element der untersten Ebene, das als Einheit für die Schätzung von Dauer und Kosten und für die Zuweisung von Personen dient?
  4. In einem Pfeildiagramm (Netzplan) mit den Knoten ① bis ⑥ sind die Vorgänge, geschrieben als „Name: Startknoten → Endknoten, Dauer“, A: ① → ②, 6 Tage; B: ① → ③, 4 Tage; C: ② → ④, 4 Tage; D: ③ → ⑤, 4 Tage; E: ④ → ⑥, 2 Tage; F: ⑤ → ⑥, 3 Tage; und ein Scheinvorgang: ② → ③ (Dauer 0). Wie lang ist die kürzeste Dauer des gesamten Projekts?
  5. Ein Projekt hat folgende Vorgänge, Dauern und Vorgänger: A: 4 Tage (kein Vorgänger); B: 2 Tage (keiner); C: 3 Tage (A); D: 2 Tage (B); E: 5 Tage (C); F: 4 Tage (C und D); G: 2 Tage (F). Wenn alle anderen Vorgänge so früh wie möglich beginnen, um wie viele Tage kann der Beginn von Vorgang B höchstens verschoben werden, ohne die Gesamtdauer des Projekts zu verlängern?