# ToolGit - Git 생산성 툴킷

> Clean Markdown view of GeekNews topic #17596. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17596](https://news.hada.io/topic?id=17596)
- GeekNews Markdown: [https://news.hada.io/topic/17596.md](https://news.hada.io/topic/17596.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2024-11-05T10:40:02+09:00
- Updated: 2024-11-05T10:40:02+09:00
- Original source: [github.com/ahmetsait](https://github.com/ahmetsait/toolgit)
- Points: 36
- Comments: 4

## Summary

Git의 생산성을 높이기 위한 다양한 서브커맨드를 제공하는 스크립트 모음. 원격에 더 이상 존재하지 않는 로컬 브랜치를 삭제하는 `git-delete-gone-branches`, 모든 원격 트래킹 브랜치를 fetch하고 fast-forward하는 `git-forward`, 그리고 예쁜 커밋 그래프를 표시하는 `git graph` 등

## Topic Body

- Git에 여러 서브커맨드를 추가해서 삶을 편하게 해주는 스크립트 모음   
- `git amend`: 현재 staged 상태의 변경사항을 amend (Alias)  
- `git-delete-gone-branches`: 원격에 더 이상 존재하지 않는 로컬 브랜치 삭제  
- `git dir`: 이 Git 저장소의 `.git` 디렉토리 경로 출력 (Alias)  
- `git-force-pull`: hard reset을 사용하여 원격 트래킹 브랜치를 fetch하고 강제로 pull  
- `git-forward`: 모든 원격 트래킹 브랜치를 fetch하고 fast-forward  
- `git gc-all`: reflog를 만료시키고 Git 저장소에 대해 전체 가비지 컬렉션 실행 (Alias)  
- `git graph`: 예쁜 커밋 그래프 표시 (Alias)  
- `git-in-repo`: 현재 작업 디렉토리가 Git 저장소이면 0 반환, 그렇지 않으면 0이 아닌 값 반환  
- `git-is-branch-remote`: 브랜치가 원격 브랜치를 참조하면 0 반환  
- `git-is-head-detached`: HEAD가 detached 상태이면 0 반환, 그렇지 않으면 0이 아닌 값 반환  
- `git-is-worktree-clean`: 작업 트리에 변경사항이나 추적되지 않은 파일이 없으면 0 반환, 그렇지 않으면 0이 아닌 값 반환  
- `git-legacy`: 의 top에 현재 HEAD의 전체 히스토리를 rebase  
- `git-main-branch`: 메인(기본) 브랜치의 이름 가져오기  
- `git-mode-restore`: 인덱스 및/또는 작업 트리에서 파일 모드 복원  
- `git root`: 이 Git 저장소의 루트 경로 출력  
- `git-xlog`: 추가되거나 제거된 라인에서만 문자열 히스토리 검색  
- 설치 방법  
  - 폴더에 풀고 PATH에 추가하면 Git 이 `git-*` 파일을 서브커맨드로 인식   
  - Alias 설치 `git config set --append --global include.path path/to/toolgit/aliases.ini`

## Comments



### Comment 31017

- Author: yangeok
- Created: 2024-11-08T08:28:23+09:00
- Points: 1

오 바로 가져다 쓰고싶은게 보입니다

### Comment 30846

- Author: mohai2618
- Created: 2024-11-06T11:56:09+09:00
- Points: 1

로컬 브랜치 동기화해주는 기능 유용하네요ㅎㅎ

### Comment 30786

- Author: semjei
- Created: 2024-11-06T04:12:00+09:00
- Points: 1

오호... 꽤 흥미롭네요.   
저도 몇가지 alias 해놓고 사용중인데 설치해 봐야겠어요.   
  
alias .ggrp='dev; git log origin/master --graph --oneline --branches -10'  
alias .glog='dev; git log origin/master --pretty=format:"%h - %an, %ar : %s" -10'  
alias .gnow='dev; echo "Now Rev: "; git rev-parse --verify HEAD; echo "Server Rev: "; git rev-parse --verify origin/master;'

### Comment 30763

- Author: godrm
- Created: 2024-11-05T15:49:15+09:00
- Points: 1

이거 계속 업데이트되면 좋을 것 같네요 ㅎㅎ
