Releases: neisii/git-deploy-extractor
Release list
v0.5.0
Git Deploy Extractor v0.5.0
실사용 중 나온 사고를 계기로 새 기능 1건이 추가되고, 설치 안내가 정비된 minor 릴리스.
새 기능
- 배포 대상 파일 수동 추가: "포함된 파일" 목록 위쪽
+ 파일 추가버튼으로, 선택된 커밋의 변경 이력과 무관하게 HEAD 트리의 임의 파일을 직접 검색해 배포 대상에 추가할 수 있다. 이전 배포 회차에서 리비전 동기화 문제로 빠진 파일처럼, 코드 참조 관계가 없어 "누락된 의존성" 자동 검사로는 원리적으로 잡을 수 없는 케이스를 사용자가 직접 보완하기 위한 기능이다. 자동완성 검색만 지원(오타로 잘못된 경로가 추가되는 것을 방지), 추가한 파일은 팝업 안 강조색 칩으로 확인할 수 있다.Preview를 다시 누르면 초기화된다.
개선
- README의
Build섹션을Install로 재구성해 "배포된 실행 파일 다운로드"와 "직접 빌드" 두 경로를 명확히 안내한다. GitHub Release에서 받은 설치 파일 실행 시 Windows SmartScreen이나 macOS Gatekeeper 경고가 뜰 수 있는데, 이는 유료 코드 서명 인증서를 사용하지 않아서 나오는 정상적인 경고이며 악성코드가 아니다. 우회 방법을 안내에 포함했다.
전체 변경 이력은 v0.4.0...v0.5.0 비교를 참고.
v0.4.0
Git Deploy Extractor v0.4.0
실사용 중 나온 개선 요구 6건이 반영된 minor 릴리스. 전부 "포함된 파일"/"누락된 의존성" 목록(DeployFilesPanel) 관련.
새 기능
- 배포 대상 파일 제외 패턴: "포함된 파일" 목록에서 특정 확장자·경로 패턴(
*.png,*.yaml등)에 해당하는 파일을 항상 배포 대상에서 제외할 수 있다..gitignore스타일 문법(현재는 단일 세그먼트*만 지원), 등록한 패턴은 칩으로 관리하며 개별로 켜고 끌 수 있다. 앱을 재실행해도 유지되고, Export 시 실제로 제외된다. - 선택 개수 카운터: "포함된 파일"/"누락된 의존성" 각 목록 제목 옆에
(선택 N개/전체 N개(필터 전 전체 N개))가 표시된다. "선택"은 검색이나 필터로 화면을 좁혀도 항상 정확한 절대값을 유지한다. "누락된 의존성"이 50개를 초과하면 눈에 띄게 경고 표시된다.
개선
- "전체 선택" 체크박스가 목록 위 별도 버튼 자리에서
Local Path컬럼 제목 바로 왼쪽(각 행 체크박스와 같은 위치)으로 이동해 더 직관적으로 바뀌었다. - "누락된 의존성" 목록의 "전체 추가" 버튼이 "전체 선택" 체크박스로 바뀌어, 한 번 더 클릭하면 전체 해제도 가능해졌다(기존엔 추가만 가능).
- 파일이 매우 많을 때(300개 초과) 목록에 가로 스크롤바가 두 개 겹쳐 보이던 문제를 수정했다.
- 우측 하단 캐릭터 아이콘 클릭 시 이동 대상을 이 저장소 페이지로 변경했다.
전체 변경 이력은 v0.3.0...v0.4.0 비교를 참고.
v0.3.0
Git Deploy Extractor v0.3.0
실사용 중 나온 개선 요구 3건이 반영된 minor 릴리스.
새 기능
- GitHub Release 업데이트 알림 (REQ-017): 저장소 패널 우측에 현재 버전 배지가 항상 표시된다. 앱 시작 시(24시간 캐시 기준) 자동으로, 또는 배지 클릭 시 캐시와 무관하게 강제로 새 릴리스를 확인한다. 새 버전이 있으면 배지 배경이 강조색으로 바뀌고, 클릭하면 확인창 → GitHub Release 목록 페이지를 시스템 브라우저로 연다. 자동 다운로드/설치는 하지 않는다. 오프라인이거나 확인이 실패해도 조용히 무시하고 직전 상태를 유지 — 핵심 기능에는 영향 없음
- 저장소/브랜치 요약 라벨 (REQ-018): 저장소 경로 텍스트 왼쪽에
{프로젝트명} / {브랜치}를 표시한다. 프로젝트명은 로컬 클론 폴더명이 아니라git remote originURL에서 유도한 이름을 우선 사용(사용자가 로컬 폴더명을 임의로 바꿔도 정확한 이름을 보여줌) — 폴더명과 다르면프로젝트명 (폴더명)처럼 부가정보로 같이 표시. 저장소 경로 텍스트에는 hover 시 전체 경로를 보여주는 툴팁과 truncation도 추가
버그 수정
- Deploy Files 패널의 "전체 선택"/"전체 추가"가 상태 Filter나 파일명 검색으로 좁혀놓은 목록을 무시하고 항상 전체 파일을 대상으로 동작하던 버그 수정 — 이제 화면에 실제로 표시 중인 파일만 정확히 토글된다
검증
기존 기능(저장소 선택, 커밋 검색, 의존성 완결성 검사, Export 등) 포함 전체 UI/UX를 Spring Boot 예제 저장소로 회귀 검증했다(25개 항목 전부 통과).
전체 변경 이력은 v0.2.1...v0.3.0 비교를 참고.
v0.2.1
Git Deploy Extractor v0.2.1
CI 파이프라인 검증용 릴리스 — 앱 기능 변경 없음.
배경
v0.2.0 이후 GitHub Actions로 OS별 빌드를 자동화했다(.github/workflows/release.yml) — v* 태그를 push하면 macOS(dmg)/Windows(setup.exe)를 각각 빌드해 해당 태그의 GitHub Release에 자동 첨부한다. 이 릴리스는 그 파이프라인이 실제 태그 push 트리거로 끝까지(빌드 → 릴리스 생성 → 자산 첨부) 정상 동작하는지 확인하기 위해 만들었다.
변경 사항
.github/workflows/release.yml신설 —v*태그 push 시 자동 빌드,workflow_dispatch로 수동 테스트도 가능build:mac이build:win과 달리 typecheck를 건너뛰던 기존 불일치 수정- electron-builder가 CI 환경을 감지해 시도하던 자동 GitHub Release 업로드(implicit publish)가
GH_TOKEN부재로 실패하던 문제 수정 —build:win/build:mac에--publish never추가(업로드는 워크플로우의 별도 스텝이 담당)
전체 변경 이력은 v0.2.0...v0.2.1 비교를 참고.
v0.2.0
Git Deploy Extractor v0.2.0
Minor 릴리스 — 실사용 중 나온 개선 요구 5건이 새 기능(REQ-012~016)으로 편입됨.
새 기능
- 사용자정의 Export 경로 (REQ-012/DR-013): Export 산출물의 부모 디렉터리를 네이티브 폴더 선택 다이얼로그로 직접 지정. 기존 산출물이 있으면 덮어쓰기 전 확인
- 의존성 완결성 검사 (REQ-013/DR-014): 선택한 커밋에 포함된 Java/Spring 파일을 기준으로, HEAD 트리를 BFS 탐색해 import/구현/필드·파라미터 타입 참조로 연결된 파일 중 선택에서 빠진 것을 "누락된 의존성" 목록으로 자동 제안.
[Preview]에 자동 연계, 실패해도 나머지 계산에는 영향 없음 - 분할 영역 드래그 리사이즈 (REQ-014): 커밋 목록↔분석 요약, 포함된 파일↔누락된 의존성, MainGrid 전체↔DeployFilesPanel 전체 — 총 3곳의 경계선을 마우스로 드래그해 크기 조절 가능. 조절한 비율은 재실행 후에도 유지
- 커밋 선택 유지 (REQ-015/DR-015): 검색 조건(검색어/기간/최대 개수)을 바꿔가며 재조회해도 체크한 커밋 선택이 유지됨(Repository/Branch 전환 시에만 초기화) — 여러 번 검색해 관련 커밋을 누적 체크하는 워크플로우 지원. 헤더에 "N개 선택됨" 카운터로 화면에 안 보이는 선택도 항상 확인 가능
- 파일명으로 커밋 검색 (REQ-016/DR-015): 커밋 메시지 대신 변경된 파일명으로도 커밋을 검색 가능 — 메시지에 키워드가 없어 놓치던 커밋(예: 다른 팀이 수정한 공통 파일)을 찾는 용도
버그 수정 / 개선
- CommitListPanel이 검색 결과 0건일 때 헤더(선택 개수 카운터 포함)까지 함께 사라지던 문제 수정 — 헤더는 항상 렌더링, 본문만 상태별로 교체
runAnalysis()레이스 컨디션 수정 — Preview 계산 중 재검색 시 완료 시점 스냅샷을 비교해 stale 결과 적용 방지- DeployFilesPanel을 제목 전용 부모 + 독립 스크롤 좌우 컬럼으로 재구성(포함된 파일/누락된 의존성 스크롤 개별화)
- BranchSearchBar 2줄 레이아웃 고정, 드래그 핸들 얇게 정리, 각 패널이 배정된 높이를 항상 꽉 채우도록 수정
전체 변경 이력은 v0.1.1...v0.2.0 비교를 참고.
v0.1.1
Git Deploy Extractor v0.1.1
패치 릴리스 — 새 기능 없는 하위호환 수정.
변경 사항
- 기본 창 높이를 670px → 760px로 확대 — Deploy Files 영역이 답답해 보이던 문제 완화
- 앱 표시 이름을
git-deploy-extractor(소문자-하이픈)에서Git Deploy Extractor로 수정 — macOS Dock/Info.plist(CFBundleName), Windows 바로가기/제거 프로그램 표시 이름에 정확히 반영됨(실제 macOS/Windows 빌드로 재검증 완료)
알려진 제한
- 개발 모드(
npm run dev)에서 macOS 상단 메뉴바 앱 이름은 여전히 "Electron"으로 표시된다 — 패키징되지 않은 Electron 실행 방식의 알려진 한계이며, 실제 배포되는 패키징 빌드에는 영향 없음.
전체 변경 이력은 v0.1.0...v0.1.1 비교를 참고.
v0.1.0
Git Deploy Extractor v0.1.0
첫 배포 가능한 빌드. Git Commit 이력을 기반으로 배포 대상 파일을 자동 추출해, 망 분리 환경에서 내부망으로 안전하게 전달할 배포 패키지(git-deploy-extracted/)를 생성하는 크로스플랫폼 Desktop App.
핵심 기능
- Repository 선택/새로고침, Branch 선택 + 기간/개수 기준 커밋 검색
- 커밋 다중 선택(체크박스, 전체 선택, author/date 표시), Preview로 계산 확정
- Commit 분석 + Mapping Rule 엔진(경로 override, Java/Resources 원본 구조 유지)
- Deploy Files 목록 — 개별/전체 파일 포함 여부 선택, 필터, 컬럼 리사이즈 + 가로 스크롤
- Delete List(읽기 전용)
- Export →
git-deploy-extracted/디렉터리 +deploy-files.txt/delete-list.txt/deploy-summary.json생성
파일 추출 판단 기준(첫 번째 부모 diff, 여러 커밋 병합 규칙, HEAD 기준 최신본 복사, Rename 미감지 등)은 README에 정리되어 있다.
이번 릴리스로 다듬어진 것들
- Export 직전 레이스 컨디션 제거 — Preview가 계산의 유일한 트리거
- Deploy Files 헤더/목록 컬럼 폭 불일치 버그 수정(실측 기반 폭 계산으로 교체)
- 명도 대비 개선(패널/배경 구분, 텍스트 가독성), CommitListPanel:Summary 레이아웃 비율(80:20) 조정
- MIT 라이선스 적용(제작자 자작 이미지 자산은 예외 — All rights reserved)
지원 플랫폼
- macOS (
.dmg) - Windows x64 (
setup.exe)
알려진 제한
- Deploy Files 목록이 300개를 넘어 가상 스크롤이 적용되면, 리스트 내부 가로 스크롤 위치가 헤더와 동기화되지 않는다(컬럼 폭 자체는 항상 일치).
- Merge Commit 처리·자동 테스트 케이스 등 후속 검토 항목은
RISK_ISSUES.md를 참고.
전체 설계/의사결정 이력은 저장소 루트의 REQUIREDMENT.md, ARCHITECTURE.md, DETAILED_DESIGN.md, UI_UX_SPEC.md, RISK_ISSUES.md에 있다.