본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

regit

0

Regit은 woaitsAryan이 개발한 Go 언어로 작성된 CLI 도구로, Git 저장소의 히스토리를 재작성하는 기능을 제공합니다.

CLI 도구오픈소스저자 변경커밋 관리타임스탬프 조정히스토리 수정

소개

Regit은 woaitsAryan이 개발한 Go 언어로 작성된 CLI 도구로, Git 저장소의 히스토리를 재작성하는 기능을 제공합니다. 커밋 메시지 개선, 저자 변경, 타임스탬프 조정, 파일 제거 등 다양한 히스토리 수정 작업을 단일 명령으로 수행할 수 있습니다. 이 도구는 Git 히스토리 정리가 필요한 개발자 및 기술 사용자를 대상으로 하며, 공식 GitHub 저장소에서 배포 및 문서화가 이루어집니다.

상세정보

히스토리 재작성 명령어

Regit은 다음과 같은 7가지 핵심 명령을 통해 Git 히스토리를 수정할 수 있습니다:

  • regit recommit: 모든 커밋의 diff를 읽고 개선된 커밋 메시지로 다시 커밋합니다.
  • regit own: 저장소의 모든 커밋의 저자를 현재 사용자로 변경합니다.
  • regit blame <name> <email>: 지정된 이름과 이메일을 가진 사용자를 모든 커밋의 저자로 설정합니다.
  • regit nuke <path/to/file>: 저장소의 모든 커밋에서 지정된 파일을 완전히 제거합니다.
  • regit retime <duration>: 모든 커밋의 시간을 과거의 특정 시간 간격으로 균등하게 재배치합니다.
  • regit rewind <duration>: 모든 커밋의 시간을 과거로 지정된 시간만큼 되돌립니다.
  • regit fastforward <duration>: 모든 커밋의 시간을 미래로 지정된 시간만큼 앞당깁니다.

공통 플래그 옵션

모든 명령어에서 사용할 수 있는 공통 옵션은 다음과 같습니다:

  • --source 또는 -s: 대상 Git 저장소 경로를 지정합니다. 지정하지 않으면 현재 디렉터리를 사용합니다.
  • --branch 또는 -b: 작업할 브랜치를 지정합니다.
  • --verbose 또는 -v: 상세한 출력 정보를 표시합니다.
  • --quiet 또는 -q: 필수 정보만 출력하고 나머지를 억제합니다.

Windows에서의 설치

Windows 사용자는 다음 두 가지 방법 중 하나로 Regit을 설치할 수 있습니다:

  • Python 패키지 관리자를 통해 설치: python3 -m pip install --user git-filter-repo
  • WinGet을 통한 설치: winget install regit

기본 사용법/명령어

Regit은 저장소 내에서 직접 실행하는 CLI 도구입니다. 설정이 완료되면 터미널 또는 명령 프롬프트에서 regit 명령을 입력하여 사용 가능하며, 각 기능은 위에서 설명한 서브 명령어와 플래그를 조합하여 실행됩니다. 예를 들어, 현재 저장소의 모든 커밋 저자를 자신으로 변경하려면 regit own 명령을 실행합니다. 저장소 경로를 지정하려면 --source 플래그를 사용하고, 자세한 과정을 보려면 --verbose 옵션을 추가할 수 있습니다.

이런 경우에 유용합니다

Regit은 다음과 같은 상황에서 특히 유용합니다:

  • 커밋 메시지가 일관되지 않거나 미흡한 저장소의 히스토리를 정리하고 싶은 개발자
  • 이전 기여자의 커밋을 자신의 계정으로 통합해야 하는 경우 (예: 오픈소스 기여 통합)
  • 민감한 정보가 포함된 파일을 Git 히스토리에서 완전히 제거해야 하는 보안 관련 상황
  • 커밋 타임스탬프를 조정하여 특정 패턴이나 규칙에 맞춰 히스토리를 재배치하고 싶은 경우

제한 사항·확인 사항

Regit을 여러 번 반복해서 사용하면 Git 저장소의 객체가 손상될 수 있으므로, 사용 전 반드시 .git 폴더를 백업해야 합니다. 이 경고는 공식 문서에서 명시적으로 언급되고 있으며, 히스토리 재작성 작업의 특성상 주의가 필요함을 나타냅니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.