Git은 대부분의 개발자가 매일 사용하는 필수 도구지만, 많은 경우 기본적인 push
, pull
, commit
정도만 활용합니다. 그러나 Git은 우리가 상상하지 못한 다양한 기능을 제공하며, 이를 활용하면 생산성과 효율성을 대폭 향상시킬 수 있습니다.
이 글에서는 Git의 유용한 명령어 20가지를 소개하며, 이를 통해 더욱 효율적이고 자신감 있게 버전 관리를 할 수 있도록 도와드립니다.
1. 인터랙티브 추가
- 설명: 파일 전체가 아닌 특정 부분만 스테이징할 수 있습니다.
- 장점: 파일 내의 특정 변경 사항만 선택적으로 커밋할 수 있어, 작은 단위의 커밋을 만들 때 유용합니다.
- 팁: 한 파일에서 여러 작업을 진행한 경우, 각 작업을 개별 커밋으로 나누는 데 사용하세요.
2. 마지막 커밋 되돌리기
- 설명: 마지막 커밋을 취소하되, 작업 디렉토리의 변경 사항은 유지합니다.
- 장점: 커밋을 수정하거나 다시 커밋할 수 있는 “타임머신” 같은 기능입니다.
- 팁:
--soft
는 변경 사항을 유지하고, --hard
는 변경 사항까지 모두 되돌립니다.
3. 브랜치의 업스트림 상태 확인하기
- 설명: 원격의 모든 업데이트를 가져오고, 삭제된 원격 브랜치의 참조를 정리합니다.
- 장점: 로컬 환경을 최신 상태로 유지하며, 불필요한 브랜치를 정리합니다.
- 팁: 대규모 팀에서 작업할 때 브랜치 목록을 깔끔하게 유지하세요.
4. 빠른 커밋 수정
- 설명: 마지막 커밋을 수정하거나 커밋 메시지를 변경합니다.
- 장점: Git 로그를 깔끔하게 유지하며 작은 실수를 빠르게 수정할 수 있습니다.
- 팁: 여러 번의 커밋 없이 작은 실수를 수정하세요.
5. 작업 임시 저장
- 설명: 현재 변경 사항을 커밋하지 않고 임시로 저장합니다.
- 장점: 현재 작업을 보류하고 다른 브랜치로 전환할 수 있습니다.
- 팁:
git stash save "설명"
으로 임시 저장 항목에 설명을 추가하면 더 쉽게 찾을 수 있습니다.
6. 임시 저장 복원
- 장점: 저장한 작업을 다시 가져오며, 목록에서 자동으로 삭제됩니다.
- 팁:
git stash apply
를 사용하면 삭제 없이 적용할 수 있습니다.
7. 특정 커밋 가져오기
- 설명: 특정 커밋만 현재 브랜치에 적용합니다.
1
| git cherry-pick <commit-hash>
|
- 장점: 브랜치 전체를 병합하지 않고 필요한 기능이나 버그 수정을 가져올 수 있습니다.
- 팁: 버그 수정이나 특정 기능만 백포트(backport)할 때 유용합니다.
8. 로컬 브랜치 정리
1
| git branch -d <branch-name>
|
- 장점: 오래된 브랜치를 정리해 작업 공간을 깔끔하게 유지합니다.
- 팁: 병합되지 않은 브랜치를 삭제하려면
-D
플래그를 사용하세요.
9. 파일 히스토리 보기
- 설명: 특정 파일에 영향을 준 모든 커밋을 확인합니다.
- 장점: 파일 변경 이력을 추적해 변경 이유를 이해할 수 있습니다.
- 팁:
--stat
옵션을 추가하면 더 자세한 변경 내용을 볼 수 있습니다.
10. 라인별 코드 작성자 확인
- 설명: 특정 파일의 각 줄을 누가 작성했는지 확인합니다.
- 장점: 디버깅 시 특정 코드 작성자를 추적하는 데 유용합니다.
- 팁:
git log
와 함께 사용해 더 자세한 히스토리를 확인하세요.
11. 버그 소스 찾기
- 설명: 이진 검색을 통해 버그가 도입된 커밋을 찾습니다.
- 장점: 대규모 프로젝트에서 버그가 발생한 커밋을 빠르게 찾습니다.
1 2 3
| git bisect start git bisect bad git bisect good <older-commit-hash>
|
12. 병합 중단
- 설명: 병합 중 문제가 발생하면 병합을 중단하고 이전 상태로 되돌립니다.
- 장점: 병합 중단 후 새로운 시작점을 제공합니다.
- 팁: 병합 전에 작업 디렉토리를 깨끗하게 유지하세요.
13. 커밋 메시지 검색
- 장점: 메시지 키워드로 커밋을 빠르게 찾습니다.
- 팁:
--author
를 추가해 특정 작성자의 커밋을 검색하세요.
14. 태그 추가
- 설명: Git 히스토리에서 특정 지점을 태그로 표시합니다.
- 장점: 특정 버전을 표시해 쉽게 참조할 수 있습니다.
1
| git tag -a v1.0 -m "Version 1.0 release"
|
15. 작업 공간 정리
- 설명: 추적되지 않은 파일과 디렉터리를 제거합니다.
- 장점: 작업 디렉토리를 정리하고 깔끔하게 유지합니다.
- 팁: 삭제된 파일이 필요 없는지 확인하세요.
16. Git 작업 기록 보기
- 설명: 모든 Git 작업 기록을 확인합니다.
- 장점: 손실된 커밋이나 작업을 복구할 수 있습니다.
17. 커밋 합치기
- 설명: 여러 커밋을 하나로 합쳐 Git 로그를 깔끔하게 만듭니다.
- 장점: 커밋 기록을 깔끔하고 전문적으로 유지합니다.
1
| git rebase -i HEAD~<number-of-commits>
|
18. 커밋 되돌리기
- 설명: 특정 커밋을 되돌리되, 전체 히스토리는 유지합니다.
- 장점: 히스토리를 변경하지 않고 실수를 수정할 수 있습니다.
1
| git revert <commit-hash>
|
19. 브랜치 그래프 보기
- 설명: 프로젝트의 브랜치와 병합 기록을 그래프로 표시합니다.
- 장점: 브랜치 구조를 한눈에 파악할 수 있습니다.
1
| git log --graph --oneline --all
|
20. 자동 완성 사용
- 설명: Git 명령어 입력 시 탭을 눌러 자동 완성을 활성화합니다.
- 장점: 생산성을 높이고 타이핑 오류를 줄입니다.
마무리
이 20가지 Git 명령어 트릭은 생산성을 높이고 팀 내 Git 관리 능력을 향상시키는 필수 도구입니다. 이를 익히고 활용하면 동료들에게 "Git 마스터"로 인정받을 것입니다. 🚀