충돌 목록 (충돌하는 파일의 이름과 충돌 횟수)을 검토 할 수있는 방법이 있습니까?git은 작업 폴더에서 충돌 횟수/충돌 목록을 찾았습니다.
내가 발견 한 유일한 것은 .git/MERGE_MSG
파일을 미리 만들어 검토하는 것입니다 ...하지만 내가 진짜로 ...
충돌 목록 (충돌하는 파일의 이름과 충돌 횟수)을 검토 할 수있는 방법이 있습니까?git은 작업 폴더에서 충돌 횟수/충돌 목록을 찾았습니다.
내가 발견 한 유일한 것은 .git/MERGE_MSG
파일을 미리 만들어 검토하는 것입니다 ...하지만 내가 진짜로 ...
편집 검색하는 것이 아니다 : 물론, 쉬운, 명백한 이상 - 공학 무료 대답은 git status
, kostixnotes입니다. 이 단점은 git status
이 작업 복사본과 비교하여 인덱스의 상태를 확인하는 것입니다. 느린 작업이지만 아래에서는 인덱스를 확인하는 것보다 훨씬 빠른 작업입니다.
충돌하는 파일의 이름을 얻으려면 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
, 나는 (I 신용을 주장 할 수 없습니다,하지만 난 원래 소스를 기억할 수없는) 내 ~/.gitconfig
파일에 다음과 같은 한 :
[alias]
conflicts = !git ls-files --unmerged | cut -f2 | sort -u
이 나에게 제공합니다
$ git conflicts
path/to/conflicted_file
난 그냥 충돌 표식의
=======
부분
grep
를 사용하는 것, 하나의 파일에 충돌의 수를 해결하려면
$ grep -c '^=======$' path/to/conflicted_file
2
당신은 위의 conflicts
라인뿐만 아니라 당신의 ~/.gitconfig
에 다음을 추가 할 수 있습니다 :이 당신에게 줄 것이다
[alias]
count-conflicts = !grep -c '^=======$'
count-all-conflicts = !grep -c '^=======$' $(git conflicts)
:
$ 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
git status
병합에 실패하는 파일을 보여줍니다 이러한 파일의 해결 된 상태를 기록하는 방법에 대한 힌트가 있으면 자동으로 충돌이 발생합니다.
여기 bash 4에서 작동하는 유용한 기능이 있습니다. 모든 종류의 단일 파일 통계를 여기에 추가 할 수 있습니다 (예 : 충돌 횟수를 나타내는 코드 줄 수입니다.
#!/usr/bin/env bash
shopt -s globstar
for theFile in ./**/*; do
if [ -f "$theFile" ]
then
conflicts=`grep -c '^=======$' "$theFile"`
if [ "$conflicts" != "0" ]
then
echo "$theFile $conflicts"
fi
fi
done
예,하지만 ... 충돌하는 파일 만 표시하는 스위치가 있습니까? – shytikov
@AlexeyShytikov, 나는 알지 못한다. 그러나 매뉴얼에서,'git status --short'는 두 개의 문자를 사용하여 나열된 각 파일의 상태를 코드화 할 수있다. "짧은 형식"부분을 보라. 출력의 관련 비트 만'sed' 또는'grep'하는 쉘 스크립트에서'git status --short'를 호출하는 것이 가능하다고 생각합니다. – kostix
반면에 @me_and는 매우 어쨌든 스크립팅이 필요하므로 접근 방법을 취하는 것이 더 합리적 일 수 있습니다. (따라서 자신의 도자기 명령을 구현할 수 있습니다). – kostix