For at finde og vise kun de filer, der har fusionskonflikter i Git, kan du bruge en kombination af kommandoer. Den nuværende kommando, du bruger, er:
find . -name '*.cpp' -o -name '*.h' | xargs grep -l '<<<<'
Men denne kommando kan forbedres for at sikre, at den kun viser de filer, der indeholder konfliktmarkører. Her er en optimeret version af kommandoen:
git diff --name-only --diff-filter=U
Denne kommando gør følgende:
git diff
: Viser ændringer mellem commits, commit og arbejdsområde osv.--name-only
: Viser kun navnene på de ændrede filer.--diff-filter=U
: Filtrerer kun de filer, der er unmerged (har konflikter).Ved at bruge denne kommando, får du en liste over filer, der har fusionskonflikter, uden at skulle søge efter konfliktmarkører manuelt.
Hvis du stadig ønsker at bruge find
og grep
metoden, kan du gøre det mere præcist ved at kombinere dem med git ls-files
:
git ls-files -u | cut -f 2 | sort -u
Denne kommando gør følgende:
git ls-files -u
: Viser unmerged filer.cut -f 2
: Ekstraherer filnavnene.sort -u
: Sorterer og fjerner dubletter.Begge metoder vil hjælpe dig med at finde og vise kun de filer, der har fusionskonflikter i dit Git repository.