영어프랑스어스페인어

Ad


온웍스 파비콘

git-blame - 클라우드에서 온라인으로

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 공급자에서 git-blame 실행

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 git-blame 명령입니다.

프로그램:

이름


git-blame - 파일의 각 줄을 마지막으로 수정한 개정판 및 작성자 표시

개요


자식 비난 [-c] [-b] [-l] [--루트] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--증분]
[-엘 ] [-S ] [-M] [-C] [-C] [-C] [--이후= ]
[--약어= ] [ | --내용물 | --뒤집다 ] [--]

기술


마지막 개정판의 정보로 주어진 파일의 각 행에 주석을 추가합니다.
라인을 수정했습니다. 선택적으로 주어진 개정판에서 주석 달기를 시작하십시오.

한 번 이상 지정된 경우 -L은 주석을 요청된 행으로 제한합니다.

줄의 출처는 전체 파일 이름 변경 시 자동으로 추적됩니다(현재
이름 바꾸기를 끄는 옵션이 없습니다). 한 파일에서 다른 파일로 이동한 줄을 따르려면
또는 다른 파일 등에서 복사하여 붙여넣은 행을 따르려면 다음을 참조하십시오.
-C 및 -M 옵션.

보고서는 삭제되거나 교체된 줄에 대해 아무 것도 알려주지 않습니다. 너
와 같은 도구를 사용해야 합니다. 자식 diff 또는 "pickaxe" 인터페이스는
다음 단락.

파일 주석 지원 외에도 Git은 개발 기록 검색도 지원합니다.
변경 시 코드 스니펫이 발생한 경우. 이를 통해 코드를 추적할 수 있습니다.
스니펫이 파일에 추가되고, 파일 간에 이동 또는 복사되었으며, 결국 삭제되거나
대체되었습니다. diff에서 텍스트 문자열을 검색하여 작동합니다. 의 작은 예
Blame_usage를 검색하는 곡괭이 인터페이스:

$ git log --pretty=oneline -S'blame_usage'
5040f17eba15504bad66b14a645bddd9b015ebb7 blame -S <ancestry-file>
ea4c7f9bf69e781dd0cd88d2bccb2bf5cc15c9a7 git-blame: Make the output

옵션


-b
경계 커밋에 대해 빈 SHA-1을 표시합니다. 이것은 또한 다음을 통해 제어할 수 있습니다.
Blame.blankboundary 구성 옵션.

--뿌리
루트 커밋을 경계로 취급하지 마십시오. 이것은 또한 다음을 통해 제어할 수 있습니다.
Blame.showRoot 구성 옵션.

--쇼-통계
비난 출력 끝에 추가 통계를 포함합니다.

-엘 , , -L :
주어진 줄 범위에만 주석을 답니다. 여러 번 지정할 수 있습니다. 겹침
범위가 허용됩니다.

그리고 선택적입니다. "-엘 ” 또는 “-L ,”에서 에게
파일 끝. "-엘, ”는 파일 시작부터 .

그리고 다음 형식 중 하나를 취할 수 있습니다.

· 숫자

만약에 또는 는 숫자이며 절대 줄 번호를 지정합니다(줄 수
1).

· /정규식/

이 양식은 주어진 POSIX 정규식과 일치하는 첫 번째 줄을 사용합니다. 만약에 이다
정규식, 이전 -L 범위의 끝에서 검색합니다(있는 경우). 그렇지 않으면
파일 시작부터. 만약에 "^/regex/"인 경우 처음부터 검색합니다.
파일. 만약에 는 정규식이며 주어진 줄에서 시작하여 검색합니다. .

· +offset 또는 -offset

다음에만 유효합니다. 전후에 줄 수를 지정합니다.
에 의해 주어진 라인 .

만약에 ": " 대신 주어진다. 그리고 , 정규 표현식입니다
일치하는 첫 번째 funcname 라인의 범위를 나타냅니다. , 최대
다음 funcname 라인. ": ”는 이전 -L 범위의 끝에서 검색합니다.
그렇지 않으면 파일의 시작부터 시작합니다. “^: ” 파일의 처음부터 검색합니다.

-l
긴 회전수 표시(기본값: 꺼짐).

-t
원시 타임스탬프 표시(기본값: 꺼짐).

-에스
호출하는 대신 revs 파일의 개정판 사용 자식-rev-목록(1).

--역전
뒤로가 아니라 앞으로 역사를 걷습니다. 개정판을 표시하는 대신
라인이 나타난 경우 라인이 존재했던 마지막 리비전을 보여줍니다. 이를 위해서는
비난의 경로가 START에 존재하는 START..END와 같은 수정 범위.

-p, --도자기
기계 소비를 위해 설계된 형식으로 표시하십시오.

--선-도자기
Porcelain 형식을 표시하지만
커밋이 처음 참조될 때. --porcelain을 의미합니다.

--증분
기계 사용을 위해 설계된 형식으로 점진적으로 결과를 표시합니다.

--인코딩=
작성자 이름 및 커밋 요약을 출력하는 데 사용되는 인코딩을 지정합니다. 로 설정
none은 비난 출력 변환되지 않은 데이터를 만듭니다. 자세한 내용은 토론을 참조하십시오
인코딩에 대해 자식 로그(1) 매뉴얼 페이지.

--내용물
언제 이 지정되지 않은 경우 명령은 에서 역방향으로 시작하는 변경 사항에 주석을 추가합니다.
작업 트리 사본. 이 플래그는 명령이 작업 트리 복사본인 것처럼 가장하게 만듭니다.
명명된 파일의 내용이 있습니다(-를 지정하여 명령을
표준 입력).

--날짜
날짜 출력에 사용되는 형식을 지정합니다. --date가 제공되지 않으면
Blame.date 구성 변수가 사용됩니다. Blame.date 구성 변수도 설정되지 않은 경우
iso 형식이 사용됩니다. 지원되는 값은 --date 옵션에 대한 설명을 참조하십시오.
at 자식 로그(1).

-엠| |
파일 내에서 이동되거나 복사된 줄을 감지합니다. 커밋이 블록을 이동하거나 복사할 때
줄(예: 원본 파일에는 A와 B가 있고 커밋은 B로 변경하고
그런 다음 A), 전통적인 비난 알고리즘은 움직임의 절반만 인식하고
일반적으로 위로 이동된 라인(예: B)을 부모에게 비난하고 비난을 할당합니다.
하위 커밋으로 이동된 줄(예: A)로 이동합니다. 이 옵션을 사용하면 둘 다
추가 검사를 실행하여 라인 그룹을 부모에게 비난합니다.

선택 사항이지만 영숫자 문자 수의 하한입니다.
해당 줄을 연결하려면 Git이 파일 내에서 이동/복사하는 것을 감지해야 합니다.
부모 커밋과 함께. 기본값은 20입니다.

-C| |
-M 외에도 다음에서 수정된 다른 파일에서 이동 또는 복사된 행을 감지합니다.
같은 커밋. 이것은 프로그램을 재구성하고 코드를 이동할 때 유용합니다.
파일 간에. 이 옵션이 두 번 주어지면 명령은 추가로 다음을 찾습니다.
파일을 생성하는 커밋의 다른 파일에서 복사합니다. 이 옵션이 주어지면
세 번, 명령은 모든 커밋에서 다른 파일의 복사본을 추가로 찾습니다.

선택 사항이지만 영숫자 문자 수의 하한입니다.
해당 줄을 연결하려면 Git이 파일 간 이동/복사를 감지해야 합니다.
부모 커밋과 함께. 그리고 기본값은 40입니다. 하나 이상의 -C가 있는 경우
주어진 옵션, 마지막 -C 인수가 적용됩니다.

-h
도움말 메시지를 표시합니다.

-c
다음과 같은 출력 모드 사용 자식 주석(1) (기본값: 꺼짐).

--점수-디버그
파일 간 행 이동과 관련된 디버깅 정보 포함(-C 참조)
파일 내에서 이동된 행(-M 참조). 나열된 첫 번째 숫자는 점수입니다. 이것은
사이 또는 내에서 이동한 것으로 감지된 영숫자 문자의 수
파일. 에 대한 특정 임계값 이상이어야 합니다. 자식 비난 그 라인을 고려하기 위해
코드를 이동했습니다.

-f, --show-이름
원래 커밋에 파일 이름을 표시합니다. 기본적으로 파일 이름이 있는 경우 표시됩니다.
이름 바꾸기 감지로 인해 다른 이름을 가진 파일에서 나온 줄.

-n, --show-번호
원래 커밋의 줄 번호를 표시합니다(기본값: off).

-s
출력에서 작성자 이름과 타임스탬프를 억제합니다.

-e, --show-이메일
작성자 이름 대신 작성자 이메일을 표시합니다(기본값: 꺼짐). 이것은 또한 될 수 있습니다
Blame.showEmail 구성 옵션을 통해 제어됩니다.

-w
부모 버전과 자식 버전을 비교할 때 공백을 무시하고
라인이 나왔습니다.

--약어=
축약된 개체 이름으로 기본 7+1 XNUMX진수를 사용하는 대신,
사용 +1 자리. 경계 커밋을 표시하기 위해 캐럿에 1개의 열이 사용됩니다.

L' 도자기 FORMAT


이 형식에서 각 행은 헤더 다음에 출력됩니다. 최소한의 헤더는
다음을 포함하는 첫 번째 줄:

· 행이 기여하는 커밋의 40바이트 SHA-1;

· 원본 파일에 있는 줄의 줄 번호;

· 최종 파일에 있는 줄의 줄 번호;

· 이전 커밋과 다른 커밋에서 줄 그룹을 시작하는 줄에서,
이 그룹의 라인 수. 다음 행에는 이 필드가 없습니다.

이 헤더 행 다음에는 각 커밋에 대해 적어도 한 번은 다음 정보가 옵니다.

· 작성자 이름("author"), 이메일("author-mail"), 시간("author-time") 및 시간대
("저자-tz"); 커미터도 마찬가지입니다.

· 행이 지정된 커밋의 파일 이름.

· 커밋 로그 메시지의 첫 줄("요약").

실제 줄의 내용은 TAB 접두사가 붙은 위의 헤더 다음에 출력됩니다. 이것
나중에 더 많은 헤더 요소를 추가할 수 있도록 허용하는 것입니다.

도자기 형식은 일반적으로 이미 본 커밋 정보를 억제합니다.
예를 들어, 동일한 커밋에 대해 책임이 있는 두 줄이 모두 표시되지만
해당 커밋에 대한 세부 정보는 한 번만 표시됩니다. 이것은 더 효율적이지만 필요할 수 있습니다.
더 많은 상태가 독자에 의해 유지됩니다. --line-porcelain 옵션은 전체 출력에 사용할 수 있습니다.
각 줄에 대한 정보를 커밋하여 다음과 같이 더 간단하지만 덜 효율적으로 사용할 수 있습니다.

# 각 저자의 줄 수를 센다.
자식 비난 --line-porcelain 파일 |
sed -n 's/^저자 //p' |
정렬 | 유니크 -c | 정렬 -rn

지정 범위


같지 않은 자식 비난자식 주석을 달다 이전 버전의 git에서는 주석의 범위
라인 범위와 개정 범위 모두로 제한될 수 있습니다. 제한하는 -L 옵션
줄 범위에 대한 주석은 여러 번 지정될 수 있습니다.

파일 foo에 대한 40-60행의 출처를 찾는 데 관심이 있는 경우 다음을 사용할 수 있습니다.
-L 옵션은 다음과 같습니다(동일한 의미입니다. 둘 다 line
40) :

자식 비난 -L 40,60 foo
자식 비난 -L 40,+21 foo

또한 정규식을 사용하여 줄 범위를 지정할 수 있습니다.

자식 비난 -L '/^sub 안녕하세요 {/,/^}$/' foo

이는 주석을 hello 서브루틴의 본문으로 제한합니다.

버전 v2.6.18 이전 변경 사항이나 3 이전 변경 사항에 관심이 없을 때
다음과 유사한 개정 범위 지정자를 사용할 수 있습니다. 자식 개정 목록:

자식 비난 v2.6.18.. -- foo
자식 비난 --since=3.weeks -- foo

개정 범위 지정자가 주석을 제한하는 데 사용되는 경우
범위 경계(커밋 v2.6.18 또는 가장 최근 커밋
위의 예에서 3주 이상 된 경우) 해당 범위 경계 커밋에 대해 비난을 받습니다.

특히 유용한 방법은 추가된 파일에 복사하여 붙여넣기로 만든 줄이 있는지 확인하는 것입니다.
기존 파일에서. 때때로 이것은 개발자가 엉성하고 수행했음을 나타냅니다.
코드를 제대로 리팩터링하지 않습니다. 먼저 파일을 도입한 커밋을 찾을 수 있습니다.
와:

git log --diff-filter=A --pretty=short -- foo

그런 다음 commit^!를 사용하여 커밋과 부모 사이의 변경 사항에 주석을 답니다. 표기법:

자식 비난 -C -C -f $commit^! -- 푸우

증분 출력


--incremental 옵션과 함께 호출하면 명령이 빌드되는 대로 결과를 출력합니다. 그만큼
출력은 일반적으로 더 최근 커밋에 의해 접촉된 라인에 대해 먼저 설명합니다(예:
행은 순서가 어긋나게 주석 처리됨) 대화식 뷰어가 사용하기 위한 것입니다.

출력 형식은 Porcelain 형식과 유사하지만 실제
주석을 달고 있는 파일의 줄.

1. 각 비난 항목은 항상 다음 줄로 시작합니다.

<40바이트 1진수 shaXNUMX>

줄 번호는 1부터 계산됩니다.

2. 커밋이 스트림에 처음 나타날 때 다양한 기타 정보가 포함됩니다.
about it에 대해 설명하는 각 줄의 시작 부분에 한 단어로 된 태그와 함께 인쇄됩니다.
추가 커밋 정보(작성자, 이메일, 커미터, 날짜, 요약 등).

3. Porcelain 형식과 달리 파일명 정보가 항상 주어지고 종료됩니다.
항목:

"파일 이름"

따라서 일부 줄 및 단어 지향 파서에 대해 구문 분석하는 것은 정말 쉽습니다.
(대부분의 스크립팅 언어에서 매우 자연스럽습니다).

주의 사항
구문 분석을 수행하는 사람들을 위해: 구문 분석을 보다 강력하게 만들려면
처음이자 마지막 (" " 및 "filename" 행)을 인식하지 못하는 경우
시작 부분에 있는 태그 단어(또는 특정 단어에 대한 관심)
"확장 정보" 라인. 그렇게 하면 추가 정보(예:
커밋 인코딩 또는 확장된 커밋 설명) 비난 뷰어는 신경 쓰지 않습니다.

매핑 작가


파일 .mailmap이 저장소의 최상위 레벨 또는 지정된 위치에 존재하는 경우
mailmap.file 또는 mailmap.blob 구성 옵션에 의해 작성자와 매핑하는 데 사용됩니다.
커미터 이름과 이메일 주소를 정식 실명과 이메일 주소로 변경합니다.

간단한 형식에서 파일의 각 줄은 파일의 정식 실제 이름으로 구성됩니다.
작성자, 공백 및 커밋에 사용된 이메일 주소( <>) 매핑
이름에. 예를 들어:

적절한 이름[이메일 보호]>

더 복잡한 형식은 다음과 같습니다.

<[이메일 보호]>[이메일 보호]>

이는 mailmap이 커밋의 이메일 부분만 대체할 수 있도록 하며,

적절한 이름[이메일 보호]>[이메일 보호]>

이는 mailmap이 커밋과 일치하는 커밋의 이름과 이메일을 모두 대체할 수 있도록 합니다.
지정된 커밋 이메일 주소 및:

적절한 이름[이메일 보호]> 커밋 이름[이메일 보호]>

이는 mailmap이 두 항목과 일치하는 커밋의 이름과 이메일을 모두 대체할 수 있도록 합니다.
지정된 커밋 이름과 이메일 주소.

예 1: 히스토리에는 두 명의 저자 Jane과 Joe의 커밋이 포함되어 있으며 이름이 표시됩니다.
여러 형태의 저장소에서:

조 개발자[이메일 보호]>
조 R. 개발자[이메일 보호]>
제인 도우[이메일 보호]>
제인 도우
제인 D.

이제 Joe는 중간 이름 이니셜을 사용하기를 원하고 Jane은 자신의 성을 선호한다고 가정합니다.
완전히 철자. 적절한 .mailmap 파일은 다음과 같습니다.

제인 도우
조 R. 개발자[이메일 보호]>

에 대한 항목이 필요하지 않음에 유의하십시오. , 실제 이름 때문에
그 저자는 이미 정확합니다.

예 2: 리포지토리에는 다음 작성자의 커밋이 포함되어 있습니다.

닉1[이메일 보호]>
닉2[이메일 보호]>
닉2[이메일 보호]>
산타[이메일 보호]>
클로스[이메일 보호]>
CTO[이메일 보호]>

그런 다음 다음과 같은 .mailmap 파일을 원할 수 있습니다.

<[이메일 보호]>[이메일 보호]>
어떤 친구[이메일 보호]> 닉1[이메일 보호]>
다른 저자[이메일 보호]> 닉2[이메일 보호]>
다른 저자[이메일 보호]>[이메일 보호]>
산타 클로스[이메일 보호]>[이메일 보호]>

해시 사용 # 한 줄에 있거나 이메일 주소 뒤에 있는 댓글의 경우.

onworks.net 서비스를 사용하여 온라인에서 git-blame 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad