소개
MobSwitcher는 .NET Core로 작성된 CLI 도구로, 원격 모브 프로그래밍 세션에서 타이피스트를 빠르게 전환할 수 있도록 도와줍니다. Git과 원격 브랜치를 활용해 마스터 브랜치를 깨끗하게 유지하면서 작업 중인 커밋을 관리합니다. 이 도구는 enorfeltによって開発され、Chocolatey를 통해 Windows에 설치할 수 있습니다.
상세정보
세션 시작 및 타이머 설정
mob start 10 명령어를 실행하면 mob-session 브랜치가 생성되고 원격 저장소에서 최신 상태를 pull한 후 10분 타이머가 시작됩니다. 이 타이머는 타이피스트 교체 주기를 알리는 데 사용됩니다.
작업 저장 및 다음 타이피스트로 전환
작업이 끝난 후 mob next를 실행하면 현재 변경 사항이 WIP [ci-skip] 커밋으로 원격 mob-session 브랜치에 푸시됩니다. 이로써 다음 참여자가 자신의 작업부터 시작할 수 있습니다.
세션 종료 및 master 브랜치 병합
모든 작업이 끝났을 때 mob done을 실행하면 mob-session 브랜치의 모든 변경 사항이 스쿼시되어 master 브랜치의 스테이징 영역에 적용됩니다. 이후 로컬과 원격의 mob-session 브랜치가 삭제되어 깨끗한 상태를 유지합니다.
세션 상태 확인 및 초기화
mob status를 실행하면 현재 모브 세션의 상태와 생성된 모든 WIP 커밋 목록을 확인할 수 있습니다. 필요 시 mob reset 명령어로 로컬과 원격의 mob-session 브랜치를 완전히 삭제할 수 있습니다.
다운로드·설치 방법
먼저 Chocolatey가 설치되어 있어야 합니다. Chocolatey가 준비되었다면 터미널 또는 PowerShell에서 다음 명령어를 실행해 MobSwitcher를 설치할 수 있습니다:
choco install mobswitcher
설치가 완료되면 어떤 디렉터리에서든 mob 명령어를 사용할 수 있습니다. 최신 버전으로 업그레이드하려면 다음 명령어를 실행합니다:
choco upgrade mobswitcher
기본 사용법/명령어
모브 프로그래밍 세션을 시작하려면 현재 타이피스트가 mob start [분] 명령어를 실행합니다. 예를 들어 10분 세션을 시작하려면 mob start 10을 입력합니다. 작업이 끝난 후 다음 참여자로 넘기려면 mob next를, 세션을 종료하고 결과를 master에 반영하려면 mob done를 실행합니다. 세션 중 상태를 확인하려면 mob status, 세션을 완전히 초기화하려면 mob reset를 사용합니다.
이런 경우에 유용합니다
원격으로 모브 프로그래밍을 진행하는 개발 팀에게 유용합니다. 특히 타이피스트 역할을 정기적으로 교대하면서 작업 흐름을 유지하고 싶을 때, Git 브랜치 관리를 자동화해 수동 개입을 줄이고 마스터 브랜치를 안정적으로 유지할 수 있습니다. 이 도구는 커밋 히스토리를 깔끔하게 유지하면서도 작업 중인 변경 사항을 안전하게 보존해야 하는 상황에서 빛을 발합니다.
지원 환경·시스템 요구사항
이 도구는 .NET Core를 기반으로 하므로 Windows에서 실행하려면 .NET Core 런타임이 설치되어 있어야 합니다. Chocolatey를 통해 설치 시 필요한 의존성은 자동으로 처리됩니다.
최신 버전·업데이트
현재 버전은 1.3.4이며, 자세한 변경 사항은 공식 GitHub 저장소의 릴리스 노트를 참조하시기 바랍니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


