본문 바로가기

DevOps

Git을 더 강력하게 만드는 스크립트 모음, ToolGit을 소개합니다!

728x90
반응형

Git을 사용할 때 여러분의 생산성을 한 단계 업그레이드 해줄 도구를 찾고 계신가요? Git에 여러 서브커맨드를 추가해서 더 편리하게 사용할 수 있도록 돕는 ToolGit을 소개합니다. 이 글에서는 ToolGit이 무엇인지, 어떻게 사용하고 설치하는지, 그리고 각 명령어가 어떤 기능을 하는지 자세히 설명드리겠습니다.


반응형

ToolGit이란?

ToolGit은 Git을 확장시켜주는 여러 유용한 스크립트를 모아둔 툴입니다. Git의 기본 기능에 다양한 서브커맨드를 추가해주어 개발자들이 Git을 더욱 편리하게 사용할 수 있도록 도와줍니다. ToolGit을 사용하면 더 이상 복잡한 Git 명령어를 기억할 필요 없이 간단하고 직관적인 서브커맨드를 통해 작업을 효율적으로 처리할 수 있습니다.

주요 명령어 설명

아래에서 ToolGit이 제공하는 명령어들과 그 기능을 자세히 살펴보겠습니다:

1. git amend

현재 스테이지에 올라가 있는 변경사항을 기존 커밋에 amend합니다. 이 명령어는 기본 Git 명령어의 git commit --amend와 동일한 기능을 합니다.

2. git-delete-gone-branches

원격 저장소에 더 이상 존재하지 않는 로컬 브랜치를 삭제합니다. 원격에서 삭제된 브랜치를 로컬에서도 간단히 제거할 수 있어 브랜치 관리가 수월해집니다.

3. git dir

현재 Git 저장소의 .git 디렉토리 경로를 출력합니다. Git 설정 파일이나 히스토리 파일을 직접 확인할 때 유용합니다.

4. git-force-pull

원격 트래킹 브랜치를 하드 리셋하여 강제로 업데이트합니다. 이 명령어는 강제적으로 로컬 브랜치를 원격 브랜치와 동기화해야 할 때 유용합니다.

5. git-forward

모든 원격 트래킹 브랜치를 fast forward로 업데이트합니다. 최신 변경사항을 반영해 작업 환경을 최신 상태로 유지할 수 있습니다.

6. git gc-all

reflog를 만료시키고 전체 가비지 컬렉션을 실행합니다. Git 저장소의 크기를 줄이고 불필요한 데이터를 정리하는데 사용됩니다.

7. git graph

예쁜 커밋 그래프를 출력합니다. 커밋 히스토리를 시각적으로 보기 쉽게 정리해주어 복잡한 히스토리도 쉽게 파악할 수 있습니다.

8. git-in-repo

현재 작업 디렉토리가 Git 저장소라면 0을 반환합니다. 간단한 조건문으로 현재 디렉토리가 Git 저장소인지 확인할 때 유용합니다.

9. git-is-branch-remote

특정 브랜치가 원격 브랜치인지 확인하고 0을 반환합니다. 원격 브랜치를 체크하는 스크립트나 자동화 작업에 유용하게 사용됩니다.

10. git-is-head-detached

현재 HEADdetached 상태인지 확인하고 그에 따라 0 또는 비 0 값을 반환합니다. HEAD 상태를 확인하여 문제를 예방할 수 있습니다.

11. git-is-worktree-clean

작업 트리에 변경사항이나 추적되지 않은 파일이 없으면 0을 반환합니다. 배포 전 작업 디렉토리가 깨끗한지 확인할 때 유용합니다.

12. git-legacy

현재 HEAD의 전체 히스토리를 특정 기준에 리베이스합니다. 오래된 커밋들을 정리하고 깔끔한 히스토리를 유지하고자 할 때 사용합니다.

13. git-main-branch

저장소의 메인 브랜치 이름을 반환합니다. 주로 main 또는 master 브랜치를 식별하는데 유용합니다.

14. git-mode-restore

파일의 권한 모드를 인덱스 또는 작업 트리에서 복원합니다. 파일 권한 변경이 필요 없을 때 이를 쉽게 되돌릴 수 있습니다.

15. git root

현재 Git 저장소의 루트 디렉토리 경로를 출력합니다. 저장소의 최상위 폴더로 빠르게 이동하고 싶을 때 편리합니다.

16. git-xlog

추가되거나 제거된 라인에서만 문자열을 검색하는 명령어로, 코드 변경 히스토리를 보다 정밀하게 검색할 수 있습니다.


설치 방법

ToolGit을 설치하려면 다음 단계를 따르세요:

  1. ToolGit을 적절한 폴더에 압축 해제합니다.
  2. 해당 폴더 경로를 PATH 환경 변수에 추가합니다.
    • Git은 PATH에 있는 git-* 파일을 자동으로 서브커맨드로 인식합니다.
  3. Alias 설정을 추가하려면 아래 명령어를 실행하세요:
$ git config set --append --global include.path path/to/toolgit/aliases.ini

사용 예시

ToolGit의 명령어를 사용하는 예시는 다음과 같습니다:

$ git mode-restore -?
usage: git-mode-restore [-s <tree-ish>] [-W] [-S] [-8] [-n] [-q] [-?] path [path ...]

Restore file modes in index and/or worktree.

예를 들어, 파일 권한을 복원하고자 할 때:

$ git mode-restore .
rwxrwxr-x -> rw-rw-r--: .editorconfig
rwxrwxr-x -> rw-rw-r--: README.md
...

위 명령어를 사용하면 파일 모드가 간단히 복원되어 작업 트리가 깨끗한 상태로 돌아갑니다.


728x90

마무리

ToolGit은 Git의 기능을 확장하고 작업을 보다 효율적으로 만들어주는 강력한 도구입니다. 여러 유용한 서브커맨드를 통해 복잡한 작업을 간단하게 처리하고, 시간을 절약하며 개발에 더욱 집중할 수 있습니다. 이제 ToolGit을 사용해 Git을 더욱 유연하고 편리하게 활용해보세요!

 

참고 링크 : https://github.com/ahmetsait/toolgit

 

GitHub - ahmetsait/toolgit: Git Productivity Toolkit

Git Productivity Toolkit. Contribute to ahmetsait/toolgit development by creating an account on GitHub.

github.com

 

728x90
반응형