Edit: Naturalmente, la semplice, ovvia e più -engineering free answer è git status
, come kostixnotes. Lo svantaggio di questo è che git status
controlla lo stato dell'indice rispetto alla copia di lavoro, che è lenta, mentre il sotto controlla solo l'indice, un'operazione molto più veloce.
Per ottenere i nomi dei file in conflitto, utilizzare git ls-files --unmerged
.
$ git ls-files --unmerged
100755 f50c20668c7221fa6f8beea26b7a8eb9c0ae36e4 1 path/to/conflicted_file
100755 d0f6000e67d81ad1909500a4abca6138d18139fa 2 path/to/conflicted_file
100755 4cb5ada73fbe1c314f68c905a62180c8e93af3ba 3 path/to/conflicted_file
Per facilità, ho il seguente nel mio file ~/.gitconfig
(Non posso affermare di credito, ma non riesco a ricordare la fonte originale):
[alias]
conflicts = !git ls-files --unmerged | cut -f2 | sort -u
Questo mi dà:
$ git conflicts
path/to/conflicted_file
per calcolare il numero di conflitti in un unico file, mi basta usare grep
per la =======
parte del marcatore conflitto:
$ grep -c '^=======$' path/to/conflicted_file
2
Si potrebbe aggiungere il seguente al vostro ~/.gitconfig
così come la linea conflicts
sopra:
[alias]
count-conflicts = !grep -c '^=======$'
count-all-conflicts = !grep -c '^=======$' $(git conflicts)
Questo vi darà:
$ git conflicts
path/to/a/conflicted_file
path/to/another/different_conflicted_file
$ git count-conflicts path/to/a/conflicted_file
2
$ git count-all-conflicts
5
fonte
2012-06-13 12:08:32
Sì, ma ... c'è qualche opzione per mostrare * solo * file in conflitto? – shytikov
@AlexeyShytikov, non so a priori, ma dal manuale sembra che 'git status --short' sia in grado di codificare lo stato di ogni file elencato usando due caratteri - guarda la sezione" Short Format ". Penso che sia possibile racchiudere una chiamata a 'git status --short' in uno script di shell che renderebbe' sed' o 'grep' solo i bit di output rilevanti. – kostix
D'altra parte, la risposta @me_and ha richiesto lo scripting in ogni caso, quindi potrebbe essere più logico prendere il suo approccio (e quindi implementare il proprio comando di porcellana). – kostix