Ich möchte git branches nach modifizierten Dateien suchen, die meine und alle anderen gemeinsam haben, als eine Methode der frühen Konflikterkennung. Gibt es eine Methode, die git mir erlauben würde, dies zu tun, was ich übersehen habe (oder per Shell-Scripting)?
Die Methode, an die ich bisher gedacht habe, ist ein Post-Commit-Hook:
git diff --name-only master
in der Zweigstelle, in der ich mich befinde, um alle Dateien zu ermitteln, nach denen ich in anderen Zweigen suchen werde (um eine Liste widersprüchlicher Zweige zu generieren) git diff --name-only origin/<remote branch> origin/master
im Remote-Repository Die meisten der verfügbaren Methoden sind in " Wie kann ich eine Zusammenführung in Git sehen? "
Der zweite Schritt, den Sie erwähnen, ist einer der schnellsten (verglichen mit der tatsächlichen Zusammenführung mit --no-ff
und --no-commit
)
(im Vergleich zu HEAD standardmäßig)
Sie können einen Statusfilter hinzufügen , da Sie nach geänderten Dateien suchen (gemeinsame Dateien zwischen Zweigen mit Änderungen)
Keine Notwendigkeit für den ersten Schritt: Der zweite wird direkt die modifizierten Dateien im Vergleich zu HEAD auflisten.
%Vor%zeigt alle Dateien, die zusammengeführt werden, würde nach Konflikten suchen, dann ist es nur eine Frage der Ausführung der Refs, am einfachsten
%Vor%Sie können die Zusammenführungspräparation auch auf niedriger Ebene direkt ausführen, um falsche positive Ergebnisse bei identischen Änderungen zu vermeiden. Dies könnte viel Zeit sparen, aber Indexdetails für alle möglichen Konflikte auflisten und prüfen, ob die Zusammenführung in Ihrem aktuellen Arbeitsbaum ohne Stomping ausgeführt werden kann auf nicht festgeschriebene Arbeit
%Vor%Tags und Links diff git merge-conflict-resolution git-diff