728x90
반응형
Git
을 사용할 때git commit
,git push
,git pull
같은 기본 명령어는 자주 쓰이지만, 상대적으로 덜 알려진 강력한 기능들이 많이 있습니다.- 특정 커밋을 되돌리거나, 여러 개의 작업 디렉토리를 관리하거나, 손쉽게 버그를 추적할 수 있는 명령어들이 존재합니다.
- 이번 글에서는
Git
의 숨은 명령어 10가지 를 소개해 드리겠습니다.
-
버그가 어느 커밋에서 발생했는지 자동으로 찾아주는 이진 탐색 명령어
-
sh
git bisect start git bisect bad # 현재 커밋이 버그가 있는 경우 git bisect good <커밋 해시> # 정상 동작했던 마지막 커밋
-
-
Git
이 자동으로 중간 커밋을 체크아웃하며, 버그 여부를 판단하면서 좁혀 나갑니다. -
종료 시:
-
sh
git bisect reset
-
-
Git
의 로컬 변경 이력을 추적 (브랜치 이동, 리베이스, 리셋 등을 복구할 때 유용)-
sh
git reflog
-
-
예: 최근 5개의
HEAD
이동 이력 확인-
sh
git reflog -n 5
-
-
여러 브랜치를 동시에 작업할 때 매우 유용한 명령어
-
사용법:
-
sh
git worktree add ../new-branch-dir new-branch
-
-
../new-branch-dir
에new-branch
브랜치의 새로운 작업 디렉토리가 생성됨.
-
특정 커밋의 변경 사항을 적용하되, 바로 커밋하지 않음
-
sh
git cherry-pick -n <커밋 해시> git status # 변경 내용 확인 후 직접 수정 가능
-
과거의 커밋을 임시로 다른 커밋으로 바꿔치기할 수 있음
-
sh
git replace <올드 커밋> <새 커밋>
-
-
예: 기존 커밋을 다른 커밋으로 보이게 설정
-
sh
git replace abc123 def456
-
-
Git
저장소의 특정 버전을ZIP
또는tar
파일로 압축-
sh
git archive -o release.zip HEAD
-
-
특정 브랜치 기준으로 압축
-
sh
git archive -o feature.zip feature-branch
-
- 파일 이동까지 추적하여, 코드 변경 기록을 분석하는 명령어
-
sh
git blame -C -C file.txt
-
Git
저장소에 깨진 오브젝트가 있는지 확인할 때 사용-
sh
git fsck
-
-
stash
를 적용하면서 원래의 인덱스(스테이징 상태)까지 복원 가능 -
사용법:
-
sh
git stash pop --index
-
-
Git
이 동일한 충돌 해결 방법을 기억해서 자동으로 해결 -
활성화:
-
sh
git config --global rerere.enabled true
-
-
충돌 해결 후 다시 같은 충돌이 발생하면 자동 적용.
-
Git
에는 우리가 자주 사용하는 명령어 외에도 강력한 기능을 가진 숨겨진 명령어들이 많습니다. -
특히, 위에서 소개한 명령어들은 디버깅, 복구, 브랜치 관리, 충돌 해결 등의 다양한 작업을 더 효율적으로 할 수 있도록 도와줍니다.
-
이제
Git
을 더 능숙하게 다룰 수 있도록, 한 번 직접 실험해 보세요! 🚀
- 도움이 되셨으면 하단의 ❤️ 공감 버튼 부탁 드립니다. 감사합니다! 😄
728x90
반응형
'git svn' 카테고리의 다른 글
Git reflog : 삭제된 커밋을 복구하는 강력한 도구 (0) | 2025.03.10 |
---|---|
GitHub 조직(Organizations)의 모든 저장소(Repositories) 목록 가져오는 방법 (0) | 2025.02.11 |
특정 이름으로 시작하는 디렉토리에 대한 git 처리 스크립트 (0) | 2024.12.20 |
기본 Git 명령어 (0) | 2024.11.24 |
GitHub 브랜치(branch) zip 다운로드(download) (0) | 2024.09.22 |