Git 연동
Free Rider는 컬렉션 파일을 로컬 Git 저장소와 함께 관리하는 흐름을 제공합니다.
새 폴더에 Git 저장소 만들기
Git 화면에서 새 저장소 만들기를 선택하면 폴더와 로컬 Git 저장소를 한 번에 만들 수 있습니다.
- 상위 폴더 선택에서 새 폴더를 둘 위치를 선택합니다.
- 새 폴더명을 입력하고 생성 경로 미리보기를 확인합니다.
- Create를 누르거나 입력창에서 Enter를 누릅니다.
예를 들어 상위 폴더가 /Users/me/Projects, 폴더명이 my-api이면 /Users/me/Projects/my-api를 만들고 그 안에 main 브랜치의 Git 저장소를 초기화합니다. 생성이 성공하면 현재 컬렉션의 Git 화면에 바로 연결됩니다.
기존 파일·폴더·심볼릭 링크와 이름이 겹치면 덮어쓰지 않고 오류를 표시합니다. 폴더명에는 /, \, .. 등의 경로 입력이나 운영체제 예약 이름을 사용할 수 없습니다. 한글과 이름 중간의 공백은 사용할 수 있습니다.
저장소 생성만으로 컬렉션 파일을 저장하거나 커밋하지 않습니다. 기존 Save collection to repository → View Diff → Commit collection 흐름을 사용하세요. Git이 설치되지 않았거나 권한이 없으면 오류를 표시하고 기존 Git 연결을 유지합니다. 초기화 도중 만들어진 비어 있지 않은 폴더는 사용자 파일 보호를 위해 보존합니다.
이 기능은 로컬 저장소 생성입니다. GitHub 같은 서비스의 원격 저장소 생성이나 Push / Pull은 수행하지 않습니다.
동기화 후 선택적으로 커밋하기
현재 컬렉션에 Git 저장소를 연결한 상태에서 OpenAPI 변경을 실제로 반영하면 동기화 결과를 커밋할까요? 창이 열립니다. URL과 로컬 명세 파일에서 시작한 동기화에 동일하게 적용됩니다. 미리보기 단계, 변경이 없는 반영, 동기화 저장 실패에는 커밋을 제안하지 않습니다.
창에서 저장소 경로·브랜치·추가/수정/삭제 건수를 확인하고 커밋 메시지를 수정할 수 있습니다. 저장 후 커밋을 누르면 공유용 컬렉션을 저장한 뒤 open-api.collection.json만 커밋합니다. 건너뛰기 또는 Escape로 닫으면 동기화 결과는 유지되며, 아직 승인하지 않은 Git 저장·커밋 작업은 실행하지 않습니다. 커밋은 입력창의 Enter로 자동 승인하지 않습니다.
baseUrl 등록 안내가 필요한 경우에는 그 창을 등록 또는 취소로 닫은 뒤 커밋을 제안합니다. Git 저장소가 연결되지 않은 다른 컬렉션에는 묻지 않습니다.
컬렉션 전체가 커밋됩니다
동기화한 부분만이 아니라 현재 저장된 컬렉션 전체를 기록하므로 이전의 미커밋 컬렉션 변경도 포함될 수 있습니다. 환경변수 값은 기존 공유 규칙에 따라 제외하지만 요청에 직접 쓴 토큰·비밀번호는 포함될 수 있습니다. 다른 stage 파일과 원격 저장소는 변경하지 않습니다.
Git 파일을 저장했지만 HEAD와 차이가 없으면 빈 커밋을 만들지 않습니다. 커밋이 실패해도 앱의 동기화 결과를 되돌리지 않으며, 오류를 확인한 뒤 같은 창에서 재시도할 수 있습니다. 실패 시 이미 저장되거나 stage된 컬렉션 파일은 보존합니다. 안내 후 저장소나 브랜치가 바뀌었다면 Git 화면에서 새로고침하고 직접 커밋하세요.
기본 흐름
- 로컬 Git 저장소를 선택합니다.
- 컬렉션 파일을 저장합니다.
- Free Rider에서 View Diff로 현재 변경을 확인합니다.
- 컬렉션 변경을 commit합니다.
Free Rider의 Git 작업은 open-api.collection.json만 commit 대상으로 다룹니다. 이미 stage된 다른 파일은 포함하지 않습니다.
최근 컬렉션 commit도 화면에서 확인할 수 있습니다.
Diff 검토 잠금
커밋은 마지막으로 View Diff에서 확인한 open-api.collection.json과 같은 상태일 때만 실행됩니다. Diff를 확인한 뒤 컬렉션 파일, 현재 브랜치 또는 HEAD가 바뀌면 커밋을 중단하고 다시 Diff를 확인하도록 안내합니다. 다른 Git 클라이언트나 CLI가 저장소를 수정한 경우도 동일합니다.
Save collection to repository를 다시 실행하면 이전 검토도 무효화됩니다. 저장 후 최신 Diff를 한 번 더 확인하면 됩니다. 단순 Refresh는 파일이나 Git 위치를 바꾸지 않으므로 검토 상태를 무효화하지 않습니다.
컬렉션 저장은 같은 저장소 안의 임시 파일에 먼저 완성한 뒤 원래 파일로 원자적으로 교체합니다. 저장 도중 실패해 기존 open-api.collection.json이 일부만 기록되는 상황을 피하고, 대상이 심볼릭 링크라면 덮어쓰지 않습니다.
Push와 Pull
Free Rider는 로컬 diff와 commit에 집중합니다. 원격 저장소의 Push / Pull은 기존 Git 클라이언트나 CLI를 사용합니다.
공유 파일에 포함하지 않는 값
다음 값은 협업용 컬렉션 파일에 포함하지 않습니다.
- Environment 실제 값
- 로컬 파일 경로
- 전역 전후처리 스크립트
- 복원용 백업
요청에 직접 적은 비밀값
요청 Header나 Body에 토큰, 비밀번호 등을 직접 적으면 컬렉션 파일에 포함될 수 있습니다. 공유할 요청은 같은 변수로 작성하고 실제 값은 Environment에 두세요.