시니어 개발자 Git 사용법 text image
단순히 git add . && git commit -m "update" && git push만 사용하고 있다면, 아직 Git의 진정한 잠재력을 경험하지 못한 것입니다.
Git은 개발자가 필수적으로 사용해야 하는 강력한 도구입니다. 이 글에서는 Git을 보다 효과적으로 활용하는 방법을 소개합니다.
Git 로그 살펴보기
기본적으로 git log 명령어는 너무 많은 정보를 제공해 가독성이 떨어집니다. 프로젝트에서 무슨 일이 일어나고 있는지 고수준에서 한눈에 이해할 수 있는 방법이 필요합니다.
git log
git log printed in terminal
가독성 높은 Git 로그 활용하기
다음 명령어를 사용하면 프로젝트의 Git 커밋을 보다 명확하게 확인할 수 있습니다:
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
이 명령어는:
- --graph: 브랜치의 분기와 병합을 시각적으로 보여줍니다.
- --format: 커밋 해시, 작성자, 날짜, 브랜치 정보를 깔끔하게 정리합니다.
- --all: 로컬 및 원격 브랜치의 모든 커밋을 포함합니다.
git log --graph --format used on terminal
더 자세한 옵션은 git-log 공식 문서에서 확인하세요.
특정 커밋의 변경 사항 이해하기
특정 커밋에서 어떤 변경이 이루어졌는지 확인하고 싶을 때 git show 명령어를 사용합니다.
커밋 요약 보기
git show <commit> --stat
이 명령어는 해당 커밋에서 변경된 파일 목록과 각 파일의 변경된 줄 수를 요약해줍니다.
git show commit used on terminal
특정 파일 변경 사항 확인하기
git show <commit> -- <파일경로>
이렇게 하면 특정 파일에서 어떤 라인이 변경되었는지를 상세히 확인할 수 있습니다.
더 자세한 정보는 git-show 공식 문서에서 참고하세요.
병합 충돌 해결하기
팀 프로젝트를 하다 보면 브랜치를 병합할 때 충돌이 발생하는 경우가 많습니다. 이때 merge와 rebase를 적절히 활용하는 것이 중요합니다.
병합(Merge) vs 리베이스(Rebase)
git merge
git merge origin/main your-branch
- merge는 두 브랜치를 하나의 병합 커밋으로 통합합니다.
- 기존 기록을 유지하면서 변경 사항을 추가하는 방식입니다.
git rebase
git rebase origin/main your-branch
- rebase는 내 브랜치의 기반을 최신 main 브랜치의 커밋 위로 이동시킵니다.
- merge보다 깔끔한 커밋 히스토리를 유지할 수 있습니다.
언제 어떤 것을 사용할까?
- rebase: 협업 중일 때, 최신 main의 변경 사항을 내 브랜치에 반영하고 싶을 때.
- merge: 기능이 완료된 브랜치를 main에 통합할 때.
각 방법의 장단점을 이해하고 상황에 맞게 활용하세요.
마무리
Git은 단순한 버전 관리 도구가 아니라 강력한 협업 도구입니다. 위에서 소개한 방법들을 익혀두면 보다 효율적으로 Git을 사용할 수 있습니다.
계속해서 Git의 기능을 탐구하며 자신만의 워크플로우를 만들어 보세요!
함께보면 좋은글
시니어 개발자들은 이런거 안한대요. (개발자 물경력 방지)
시니어 개발자들은 이런거 안한대요. (개발자 물경력 방지)
주니어 개발자에서 멈춰 있을수만은 없다! 연차는 쌓이는데 자신의 실력도 쌓여야겠죠? 시니어 개발자들은 어떻게 하는지 탐구해봅시다.모든 시니어 개발자도 처음에는 기초적인 코딩 실력과
intelloper.tistory.com
시니어 개발자의 ChatGPT 사용법(코딩 10배 빠르게!)
시니어 개발자의 ChatGPT 사용법(코딩 10배 빠르게!)
상위 1% 개발자의 비밀 프레임워크 🚀ChatGPT를 활용해 코딩 속도를 혁신적으로 끌어올리는 방법을 공유하려 합니다.단순히 "코드를 짜줘"라고 묻는 수준을 넘어서, AI를 여러분의 개인 아키텍트
intelloper.tistory.com
DevOps 엔지니어를 위한 12가지 필수 Bash 스크립트 자동화
DevOps 엔지니어를 위한 12가지 필수 Bash 스크립트 자동화
DevOps 엔지니어를 위한 12가지 필수 Bash 스크립트 자동화DevOps 엔지니어로서 가장 중요한 목표 중 하나는 효율성을 높이고 반복적인 작업을 줄이는 것입니다.Bash 스크립트를 활용하면 시스템 관리
intelloper.tistory.com