웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > webdevetc

git blame 명령어로 코드 수정한 사람 확인하기

Last Modified : 2024-02-06 / Created : 2024-01-31
528
View Count

Git을 사용하여 협업을 진행하다보면 다음과 같은 상황이 나타날 수 있습니다.

❝음? 이 코드 누가 수정했지?❞


실제로 여러 사람이 동일 파일을 수정하다보면 해당 코드 블록 또는 라인을 수정한 사람이 누군지 알아야 할 경우가 필요하죠. 자신이 작성하지 않았다면 해당 코드 수정자에게 수정한 이유와 이슈 등을 확인하기 위해서입니다.



코드 수정한 사람 찾기, git blame


git을 사용하는 경우 코드를 누가 수정했는지 확인이 가능한데요 바로 blame 명령어를 사용하여 코드 수정자가 누구인지 또 언제 수정했는지를 알 수 있습니다.

git blame [filename]

위의 git blame 명령어는 소스 코드에 어떤 문제가 발생했을 때 수정한 사람에게 도움을 받기 위해서 유용하게 사용할 수 있는 명령어입니다. 코드를 수정한 사람이 해당 코드에 의도를 가지고 작성했을 것이고 문제가 발생해도 누구보다 쉽게 해결이 가능하겠죠. 때때로 원인의 책임을 제공한 자가 누구인지 확인하기 위해서도 사용되긴 합니다. 하지만 가장 중요한 부분은 더 쉽고 빠른 문제 해결이겠죠! 그럼 git blame은 어떻게 사용할까요?


git blame 사용방법 및 예제보기


git blame을 사용하는 방법을 간략히 알아보도록 하겠습니다. 사용 방법은 간단합니다. 해당 명령어를 사용해 특정 파일을 입력하면 해당 파일의 수정자가 누구인지 출력해서 나타냅니다. 예를 들어 test.ts 파일이 존재하는 경우 아래와 같이 사용할 수 있습니다.
> git blame test.ts

이는 가장 간단한 방법입니다. 코드의 실행 결과는 아래의 스크린샷과 같습니다.


위의 git blame 결과를 통해 각각의 코드 라인별로 다음과 같은 정보를 얻을 수 있습니다.

  • 커밋 해시
  • 코드 수정자(또는 생성자)
  • 변경 일시

위의 정보를 통해 간단하게 코드를 누가 언제 수정했는지 빠르게 확인 가능합니다. 참고로 간단한 사용 방법 이 외에 몇 가지 유용한 옵션 등을 함께 사용할 수 있습니다. 대표적으로 다음의 옵션 등이 있습니다.

-L : 특정 라인만 선택하여 노출 (Ex. -L 10,20)
--since 또는 --until : 특정 범위의 커밋 정보를 보여줌
-w : 흰 여백(whitespace)의 변경사항을 제거하고 보여줌


@ 특정 라인의 수정 내역만 확인하기
예를 들어 만약 5번째부터 10번째 라인만 보고 싶다면 아래와 같이 입력합니다.
> git blame -L 5,10 test.ts

@ 특정 범위의 커밋 정보를 보여주기
해당 코드의 커밋 일자를 기준으로 정보를 나타낼 수 있습니다. 만약 2023년 1월 1일 이 후의 커밋이 있는지 또 해당 정보가 무엇인지 확인할 때 아래처럼 입력할 수 있습니다. 커밋 정보가 없는 경우 가장 마지막의 커밋 정보를 보여주게 됩니다.
> git blame --since "2023-01-01" test.ts

@ 흰 여백(whitespace) 변경사항 제거하기
커밋이 여백 제거 등의 이유로 생겼다면 이를 제거하기 위해서 -w 옵션을 추가하여 사용 가능합니다.
> git blame -w test.ts

여기까지 git blame 명령어에 대하여 간략하게 알아보았습니다. 해당 명령어를 사용하면 간단한 커밋 정보 및 변경한 사용자 확인이 가능하여 자주 사용되는 유용한 명령어 중 하나입니다.

Previous

워드프레스 블로그 장점과 단점은?

Previous

pm2에서 로그 사용 및 관리 방법