깃은 사실상 모든 개발자들이 사용하는 도구입니다.
시니어 개발자들은 어떤 기능을 쓰고 있는지 살펴봅시다.
1. Git log
기본으로 사용하는 git log는 너무 많은 정보를 줍니다. --graph 와 --format 옵션을 주어서 요약 정보를 확인 할 수 있습니다. 다음과 같은 방식으로 사용합니다.
git log --graph --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%an%C(reset)%C(bold yellow)%d%C(reset) %C(dim white)- %s%C(reset)' --all
2. 특정 커밋 이해하기
특정 커밋에서 어떤 일이 일어나고 있는지 파악하고 싶을 때가 많을 텐데요. git show는 커밋의 변경 사항을 개략적으로 보여줄 뿐만 아니라 특정 파일의 변경 사항도 볼 수 있습니다.
특정 커밋의 요약 정보 보기
git show <commit> --stat
특정 파일의 특정 줄 변경을 살펴보고 싶을 때
git show <commit> -- <filepath>
3. 코드 변경하기
git merge vs git rebase
메인 브랜치에 병합하고 싶은 변경 사항이 있는 경우, 변경 사항을 브랜치에 머지하거나 다른 지점에서 브랜치를 리베이스 할 수 있습니다.
머지는 다음과 같이 합니다.
git merge origin/main your-branch
리베이스는 다음과 같이 합니다.
git rebase origin/main your-branch
여러분이 작업중인 브랜치의 업스트림 브랜치(main 같은)에 변경사항이 있는 경우는 rebase를 사용하고, 작업중인 브랜치에서 메인브랜치로 다시 넣으려는 변경사항이 있을 경우는 merge를 사용합니다.