- CLI
- 0.2.17
- 프리뷰 ref
- a2c45c8
목표는 구체적입니다.
- 리포지토리는 컴퓨터에 둠
- 변경은 휴대폰에서 검토 가능
- 결정을 내릴 수 있음(유지 / 되돌리기 / 코멘트 / 커밋)
- 확신이 들면 push 가능
"휴대폰으로 개발하기"가 재밌어서가 아닙니다.
Git의 어려운 부분은 코드를 쓰는 게 아니기 때문입니다.
키보드에서 떨어져 있는데도 다음 질문에 답해야 할 때입니다.
"이 변경 괜찮아?"
이 가이드는 원격 Git 검토를 간단하고 반복 가능하게 만드는 워크플로를 다룹니다.
핵심 트레이드오프
원격 Git 워크플로는 항상 다음 비용 중 하나를 치릅니다.
- 파일 시스템을 마운트(SSH 마운트, iOS 파일 제공자 등)
- UI에 원격 접속(원격 데스크톱)
- 터미널에서 Git 사용(SSH/tmux)
- 휴대폰에 리포지토리 사본 보관(진짜 모바일 Git 클라이언트)
모두 쓸 수 있습니다.
하지만 실제로 써 보면 느낌이 아주 다릅니다.
일반적인 방법과 트레이드오프
- 휴대폰에서 SSH: 되지만 작은 터미널에서 긴 출력을 스크롤하는 건 고통스럽습니다.
- 원격 데스크톱: 무겁고 번거롭습니다. 비상시엔 괜찮지만 기본으로는 부적합합니다.
- 로컬에 클론하는 모바일 Git 클라이언트: 이것도 됩니다. "iPad 중심 개발"을 한다면 좋을 수 있습니다. 잘 알려진 예는 Working Copy(iOS의 Git)입니다. 탄탄합니다. 하지만 컴퓨터가 진실 공급원이고 이미 리포지토리와 도구가 있다면 맞지 않습니다.
도움이 되는 건 더 가벼운 루프입니다. 리포지토리를 휴대폰으로 옮기지 않고 diff 검토, 코멘트 남기기, 커밋, push를 합니다.
실제로 쓸 수 있는 워크플로
이 워크플로는 리포지토리를 가진 컴퓨터 위에서 원격 UI를 사용합니다.
Happier는 이 방식을 지원하는 선택지 중 하나입니다.
각 Happier 세션은 컴퓨터의 폴더에 연결되어 있습니다. 휴대폰에서는 세션이 그 폴더 전용 Files 탭과 Git 탭을 제공해서, 휴대폰에 리포지토리 사본 없이 변경된 파일, diff, 커밋, 기록을 다룰 수 있습니다.
Git 쓰기 작업(stage, 커밋, pull, push)은 실험적이며 기본으로 꺼져 있습니다. Settings → Features → Source control operations에서 켭니다(Git 문서 (영어) 참고). 상태, diff, 기록 보기는 이것 없이도 됩니다.
트레이드오프: 여전히 컴퓨터가 온라인이어야 합니다.
Happier가 처음이라면 (무엇이고 어디서 받는지)
Happier를 처음 본다면: 신뢰하는 컴퓨터에 코딩 워크플로를 두고 휴대폰에서 관리할 수 있게 해 주는 오픈 소스 컴패니언 앱(모바일/웹/데스크톱)입니다.
설정하기:
- 휴대폰에서 Happier 사용하는 방법
- GitHub: https://github.com/happier-dev/happier
- 설치/다운로드: https://github.com/happier-dev/happier#how-it-works
- Discord (커뮤니티 + 지원): https://discord.gg/W6Pb8KuHfg
단계별: 휴대폰을 원격 Git 클라이언트로 쓰기
1) 리포지토리 폴더에서 세션 열기
리포지토리에서 실행 중인 세션을 열거나, 새 세션을 시작하고 컴퓨터의 리포지토리 폴더를 작업 디렉터리로 고릅니다.
2) Git 탭 열기
세션 안에서 Git 탭을 열고 변경된 파일부터 시작합니다.
실용적인 세 가지를 얻습니다.
- 변경된 파일 목록
- diff 검토 화면
- 커밋 화면(0.2.12부터 커밋할 파일을 정확히 선택 가능)
3) diff 검토 (모두 다시 읽지 않고)
Changed files에서 다음이 보입니다.
- Changed files(개수 포함)
- ↓ Review 버튼
↓ Review를 탭합니다.
리포지토리가 크면 다음이 보일 수 있습니다.
- Large diff detected
버그가 아닙니다. 가드레일입니다. 휴대폰에서 파일 600개를 한꺼번에 렌더링하지 않고 diff를 점진적으로 불러옵니다.
실제 휴대폰 검토 루프
휴대폰에서는 완벽한 검토를 하려 하지 마세요.
범위를 정한 한 번의 확인만 합니다.
- 위험이 커 보이는 파일을 먼저 엽니다.
- 결정: 유지 / 되돌리기 / 코멘트.
- 멈춥니다.
실수 대부분은 검토가 끝없이 이어질 때 일어납니다.
4) 리뷰 코멘트로 변경을 정확하게
많은 도구가 잘 처리하지 못하는 부분입니다.
휴대폰에서 검토할 때 이런 긴 메시지는 쓰고 싶지 않습니다.
"diff의 그 부분 좀 고쳐 줘."
대신 diff에 줄 단위 리뷰 코멘트를 남기세요.
그러면 다음에 고정된 문자 그대로의 체크리스트가 생깁니다.
- 파일 경로
- 줄
- 주변 코드 조각
나중에 할 일을 "대기열에 넣어 두는" 데도 좋은 방법입니다.
5) 커밋 (확신이 들 때)
Changed files 하단에 다음이 보입니다.
- 커밋 선택 요약(예: 0 files selected for the next commit.)
- All 버튼
- Commit message 입력란
- Commit 버튼
도움이 되는 작은 습관:
- 기본으로 전부 커밋하지 않기
- 일관된 최소한의 파일 묶음 선택
- 의도를 설명하는 명확한 커밋 메시지 작성
UI가 다음 같은 걸 알려 주면:
- Operation requires a clean working tree.
…글자 그대로 받아들이세요.
이 메시지는 "리포지토리가 깨끗하다고 가정하는 작업을 실행하려 한다"고 알려 주는 것입니다.
6) Pull / Push (업스트림과 동기화)
Git 탭에서 다음 동작이 보입니다.
- Pull
- Push
휴대폰에서 원격 Git을 쓴다면 여기서 신중해야 합니다.
좋은 규칙:
- Pull은 자유롭게.
- Push는 diff를 검토하고 확신이 든 뒤에만.
7) 맥락이 필요하면 기록 사용
"지금 무엇이 바뀌었나?"가 아니라 "무슨 일이 있었나?"에 답하고 싶다면 다음을 여세요.
- Git 탭의 커밋 기록
휴대폰에서 리포지토리를 검토하다가 어제 무엇을 하고 있었는지 잊었을 때 특히 유용합니다.
터미널 (선택, 10%의 경우)
터미널이 필요할 때도 있습니다.
내장 터미널을 쓸 수 있으면 세션에 Terminal 탭이 표시됩니다. 기능 매트릭스 (영어)에 따르면 실험적 기능입니다.
강력한 권장 사항:
- 기본 워크플로는 UI 중심으로(diff, 기록, 커밋)
- 터미널은 정말 필요한 드문 경우에만
모든 걸 터미널로 하면 버튼만 예뻐진 "휴대폰에서 SSH"로 돌아갑니다.
FAQ
이건 "휴대폰의 Git"인가요, "휴대폰에서 다루는 컴퓨터의 Git"인가요?
후자입니다.
리포지토리는 컴퓨터에 있습니다.
휴대폰은 검토 + 제어 화면입니다.
흔한 큰 실패는?
호스트 컴퓨터가 오프라인이 되는 것입니다(절전, 덮개 닫힘, 네트워크 변경).
어떤 원격 Git 클라이언트도 물리 법칙을 고칠 수는 없습니다.
할 수 있는 건 "온라인인가?"를 분명히 보이게 하고, 변경을 조용히 반만 적용하는 워크플로를 피하는 것입니다.
대신 진짜 모바일 Git 클라이언트를 써야 할 때는?
정말로 리포지토리를 iPhone/iPad에 두고 싶다면(오프라인 작업, 여행, iPad 중심 개발) 진짜 모바일 Git 클라이언트를 쓰세요.
Working Copy 같은 도구가 있는 데는 이유가 있습니다.
이 가이드는 "컴퓨터에 리포지토리가 있고, 원격 검토와 작은 개입만 하고 싶다"는 경우를 위한 것입니다.