IT story

자식 비난은 무엇을 하는가?

hot-time 2020. 4. 11. 10:13
반응형

자식 비난은 무엇을 하는가?


사용 방법에 대해 많은 질문을 git blame보았지만 실제로 이해하지 못합니다.

내가 볼 blameGitHub의 인터페이스에있는 파일의 상단에 버튼을 누릅니다. 그것을 클릭하면 왼쪽 막대에 사용자 이름이 약간 다릅니다. 그게 뭐야?

GitHub와 별도로 git blame이 실제로 사용되는 이유는 무엇입니까?


git-scm에서 http://git-scm.com/docs/git-blame

주어진 파일의 각 행에 마지막으로 수정 한 개정판의 정보를 표시합니다. 선택적으로 주어진 개정판에서 주석을 달기 시작합니다.

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

예:

johndoe@server.com:~# git blame .htaccess
...
^e1fb2d7 (John Doe 2015-07-03 06:30:25 -0300  4) allow from all
^72fgsdl (Arthur King 2015-07-03 06:34:12 -0300  5)
^e1fb2d7 (John Doe 2015-07-03 06:30:25 -0300  6) <IfModule mod_rewrite.c>
^72fgsdl (Arthur King 2015-07-03 06:34:12 -0300  7)     RewriteEngine On
...

참고 git blame연대기 의미에서 당 줄 변경 내역을 표시하지 않습니다. 마지막 커밋까지 문서에서 한 줄을 변경 한 사람 만 표시 HEAD합니다.

즉, 문서 라인의 전체 히스토리 / 로그를 보려면에서의 git blame path/to/file각 커밋마다을 실행해야 합니다 git log.


이 명령은 공동 작업자가 특정 라인을 작성하거나 할 수 있도록 프로젝트를 파괴하는 알아낼이다, 아주 잘 자체를 설명 비난 을 :)


GitHub에서 https://help.github.com/articles/using-git-blame-to-trace-changes-in-a-file

비난 명령은 파일을 변경 한 사람을 결정하는 데 도움이되는 Git 기능입니다.

음의 이름에도 불구하고, 자식 비난은 실제로 무해합니다. 주요 기능은 누가 파일에서 어떤 행을 변경했는지, 왜 그런지를 지적하는 것입니다. 코드의 변경 사항을 식별하는 유용한 도구가 될 수 있습니다.

기본적으로 git-blame파일의 각 줄을 마지막으로 수정 한 개정 및 작성자를 표시하는 데 사용됩니다. 파일 개발 이력을 확인하는 것과 같습니다.


git blame명령은 파일에 대한 최신 변경을 담당하는 커밋이 누구 / 누구인지 파악하는 데 사용됩니다. 각 라인의 저자 / 커밋도 볼 수 있습니다.

git blame filename (코드의 모든 줄에 대한 변경을 담당합니다)

git blame filename -L 0,10 ( "0"행에서 "10"행으로의 변경을 담당합니다)

비난에 대한 다른 많은 옵션이 있으며 일반적으로 도움이 될 수 있습니다.


git blame명령 (Q2 2019), 그렇게 할 것입니다 힘내 2.22로 ... 마지막으로 라인을 수정 한 개정 정보로 라인을 주석하고 빠르게 "주위에 있기 때문에 성능 수정의, git blame어떤이있다 (특히 선형 역사" 우리는 최적화해야합니다).

David Kastrup ( )의 commit f892014 (2019 년 4 월 2 일)를 참조하십시오 . (의해 병합 Junio C 하마노 - -커밋 4d8c4da 25 사월 2019)fedelibre
gitster

blame.c: 원점 블랍을 간절히 삭제하지 마십시오.

부모 블롭이 이미 비난을 위해 대기중인 청크를 가지고있는 경우, 한 블레 임 단계의 끝에 블롭을 삭제하면 즉시 다시로드되어 I / O의 양이 두 배로 증가하고 선형 이력을 처리 할 때 압축이 풀립니다.

이러한 부모 블로 브를 메모리에 유지하는 것은 오래된 브랜치에서 병합을 처리 할 때 주로 추가 메모리 압력이 발생하는 합리적인 최적화처럼 보입니다.

참고 URL : https://stackoverflow.com/questions/31203001/what-does-git-blame-do

반응형