Git 도구 사용법
Git은 다양한 도구들을 제공하여 버전 관리 작업을 보다 효율적으로 수행할 수 있게 합니다. 이 글에서는 Git의 주요 도구 사용법을 소개합니다.
리비전 선택
Git은 여러 가지 방법으로 리비전을 선택할 수 있습니다.
단일 리비전
단일 리비전을 선택하려면 커밋 해시를 사용합니다.
$ git show <commit_hash>
짧은 해시
짧은 해시를 사용하여 간단하게 리비전을 선택할 수 있습니다.
$ git show <short_hash>
브랜치 참조
브랜치 이름을 사용하여 리비전을 참조합니다.
$ git show <branch_name>
RefLog 단축명
RefLog 단축명을 사용하여 최근 리비전을 참조합니다.
$ git show HEAD@{2}
조상 참조
조상 참조를 사용하여 이전 커밋들을 선택할 수 있습니다.
$ git show HEAD~2
인터랙티브 스테이징
인터랙티브 스테이징을 사용하여 커밋할 변경 사항을 선택할 수 있습니다.
파일 스테이징 및 언스테이징
파일을 스테이징하거나 언스테이징합니다.
$ git add -i
패치 스테이징
패치를 스테이징합니다.
$ git add -p
스태시와 클린
작업 중인 변경 사항을 임시로 저장하고, 워킹 디렉터리를 정리합니다.
작업 저장하기
현재 작업을 스태시합니다.
$ git stash
스태시 적용
저장된 작업을 다시 적용합니다.
$ git stash apply
스태시 취소
저장된 작업을 삭제합니다.
$ git stash drop
브랜치 생성 후 스태시 적용
새로운 브랜치를 생성하고 스태시를 적용합니다.
$ git stash branch <branch_name>
작업 디렉터리 정리
작업 디렉터리를 정리합니다.
$ git clean -fd
서명 작업
Git은 커밋과 태그에 GPG 서명을 추가할 수 있습니다.
GPG 소개
GPG를 사용하여 커밋과 태그에 서명을 추가합니다.
$ git config --global user.signingkey <GPG_key>
태그 서명
태그를 서명합니다.
$ git tag -s <tag_name> -m "message"
서명 검증
서명을 검증합니다.
$ git tag -v <tag_name>
커밋 서명
커밋에 서명합니다.
$ git commit -S -m "message"
검색
Git 저장소 내에서 다양한 검색을 수행할 수 있습니다.
Git Grep
파일 내의 텍스트를 검색합니다.
$ git grep "search_text"
Git Log 검색
로그 내에서 텍스트를 검색합니다.
$ git log -S "search_text"
라인 로그 검색
특정 라인의 변경 내역을 검색합니다.
$ git log -L :<function_name>:<file>
히스토리 재작성
커밋 메시지 변경, 커밋 순서 변경 등 히스토리를 재작성할 수 있습니다.
마지막 커밋 변경
마지막 커밋 메시지를 변경합니다.
$ git commit --amend -m "new_message"
여러 커밋 메시지 변경
여러 커밋 메시지를 변경합니다.
$ git rebase -i HEAD~n
커밋 순서 변경
커밋 순서를 변경합니다.
$ git rebase -i HEAD~n
커밋 스쿼시
여러 커밋을 하나로 압축합니다.
$ git rebase -i HEAD~n
커밋 분할
단일 커밋을 여러 커밋으로 분할합니다.
$ git rebase -i HEAD~n
히스토리 재작성
강력한 히스토리 재작성 도구를 사용합니다.
$ git filter-branch
리셋 재설정
Git 리셋 명령을 사용하여 다양한 작업을 수행할 수 있습니다.
세 가지 트리
Git의 세 가지 트리를 이해합니다: HEAD, Index, Working Directory
워크플로우
리셋 명령을 사용하여 워크플로우를 관리합니다.
$ git reset --hard <commit>
경로와 함께 리셋
특정 경로를 리셋합니다.
$ git reset <path>
Git 도구의 기본 사용법에 대해 알아보았습니다. 이 도구들을 사용하여 Git에서 작업을 보다 효율적으로 관리할 수 있습니다.