Files
weeklyreport/claude_temp/07_SVN_Git_커밋내역_연동_작업계획서.md

33 KiB

SVN/Git 커밋 내역 연동 작업계획서

작성일: 2026-01-10 예상 기간: 2~3주 우선순위: 7 선행 작업: 2번 (사업-프로젝트 계층 구조)


1. 기능 개요

1.1 핵심 컨셉

  • 프로젝트별 SVN/Git 저장소 주소 관리 (다중 가능)
  • 해당 주차 커밋 이력 자동 수집
  • 주간보고 작성 시 커밋 코멘트 참고용 표시
  • 작성자가 커밋 내용 보고 업무 내용 작성에 활용

1.2 전체 흐름

[관리자/PM - 프로젝트 설정]
프로젝트별 저장소 주소 등록
        ↓
[시스템 - 자동 수집]
주기적으로 커밋 이력 수집 (Cron)
        ↓
[개발자 - 주간보고 작성]
해당 주차 본인 커밋 내역 참고하며 작성

1.3 결정 사항

# 항목 결정
1 저장소 타입 SVN, Git 둘 다 지원
2 저장소 개수 프로젝트당 다중 저장소 가능
3 수집 방식 하이브리드: 스케줄(1일1회) + 새로고침 버튼
4 VCS 아이디 관리 도메인(서버) 단위로 사용자별 아이디 관리
5 커밋 매칭 VCS 서버 + 아이디 → 시스템 사용자 매칭
6 용도 참고용 표시 (자동 입력 X)
7 조회 화면 프로젝트별 VCS 주소 기준 커밋 조회

2. 데이터 모델

2.1 VCS 서버 테이블 (도메인 단위)

-- VCS 서버 (도메인) 관리
CREATE TABLE wr_vcs_server (
    server_id SERIAL PRIMARY KEY,
    server_type VARCHAR(10) NOT NULL,            -- SVN, GIT
    server_url VARCHAR(300) NOT NULL,            -- github.com, svn://192.168.1.100
    server_name VARCHAR(100),                    -- 표시용 이름 (예: "사내 SVN", "GitHub")
    description TEXT,
    is_active BOOLEAN DEFAULT true,
    created_at TIMESTAMP DEFAULT NOW(),
    
    UNIQUE(server_url)
);

-- 예시 데이터
INSERT INTO wr_vcs_server (server_type, server_url, server_name) VALUES
('GIT', 'github.com', 'GitHub'),
('GIT', 'gitlab.company.com', '사내 GitLab'),
('SVN', 'svn://192.168.1.100', '사내 SVN');

2.2 사용자별 VCS 계정 테이블

-- 사용자별 VCS 서버 계정 (도메인별로 아이디 관리)
CREATE TABLE wr_employee_vcs_account (
    account_id SERIAL PRIMARY KEY,
    employee_id INTEGER NOT NULL REFERENCES wr_employee_info(employee_id),
    server_id INTEGER NOT NULL REFERENCES wr_vcs_server(server_id),
    vcs_username VARCHAR(100) NOT NULL,          -- SVN/Git 사용자명
    vcs_email VARCHAR(100),                      -- Git 커밋 이메일 (Git만 해당)
    created_at TIMESTAMP DEFAULT NOW(),
    
    UNIQUE(employee_id, server_id)               -- 사용자당 서버별 1개
);

CREATE INDEX idx_vcs_account_employee ON wr_employee_vcs_account(employee_id);
CREATE INDEX idx_vcs_account_server ON wr_employee_vcs_account(server_id);

2.3 저장소 정보 테이블

-- 프로젝트별 저장소 (VCS 서버 하위)
CREATE TABLE wr_repository (
    repo_id SERIAL PRIMARY KEY,
    project_id INTEGER NOT NULL REFERENCES wr_project_info(project_id),
    server_id INTEGER NOT NULL REFERENCES wr_vcs_server(server_id),
    repo_name VARCHAR(100),                      -- 표시용 이름
    repo_path VARCHAR(500) NOT NULL,             -- 저장소 경로 (예: /company/frontend.git, /pims/trunk)
    branch_name VARCHAR(100),                    -- Git: 브랜치명 (기본: main)
    is_active BOOLEAN DEFAULT true,
    last_sync_at TIMESTAMP,
    last_sync_status VARCHAR(20),                -- SUCCESS, FAILED
    last_sync_message TEXT,
    created_at TIMESTAMP DEFAULT NOW(),
    created_by INTEGER REFERENCES wr_employee_info(employee_id)
);

CREATE INDEX idx_repository_project ON wr_repository(project_id);
CREATE INDEX idx_repository_server ON wr_repository(server_id);

-- 전체 URL = wr_vcs_server.server_url + wr_repository.repo_path
-- 예: github.com + /company/frontend.git = github.com/company/frontend.git

2.4 커밋 이력 테이블

CREATE TABLE wr_commit_log (
    commit_id SERIAL PRIMARY KEY,
    repo_id INTEGER NOT NULL REFERENCES wr_repository(repo_id),
    commit_hash VARCHAR(100) NOT NULL,           -- Git: SHA, SVN: revision
    commit_message TEXT,
    commit_author VARCHAR(200),                  -- 커밋 작성자 (원본)
    commit_email VARCHAR(200),                   -- 커밋 이메일 (Git)
    commit_date TIMESTAMP NOT NULL,
    employee_id INTEGER REFERENCES wr_employee_info(employee_id),  -- 매칭된 사용자
    files_changed INTEGER,
    insertions INTEGER,
    deletions INTEGER,
    synced_at TIMESTAMP DEFAULT NOW(),
    
    UNIQUE(repo_id, commit_hash)
);

CREATE INDEX idx_commit_repo ON wr_commit_log(repo_id);
CREATE INDEX idx_commit_date ON wr_commit_log(commit_date);
CREATE INDEX idx_commit_employee ON wr_commit_log(employee_id);

2.5 데이터 관계도

┌─────────────────┐
│ wr_vcs_server   │  (도메인 단위: github.com, svn://192.168.1.100)
└────────┬────────┘
         │
    ┌────┴────┐
    ↓         ↓
┌─────────┐  ┌──────────────────────┐
│wr_repos │  │wr_employee_vcs_account│
│itory   │  │ (사용자별 도메인 아이디)│
└────┬────┘  └──────────────────────┘
     │
     ↓
┌──────────────┐
│wr_commit_log │  (커밋 이력)
└──────────────┘

3. API 설계

3.1 VCS 서버 관리 API (관리자)

Method Endpoint 설명
GET /api/vcs-server VCS 서버 목록
POST /api/vcs-server VCS 서버 추가
PUT /api/vcs-server/[id] VCS 서버 수정
DELETE /api/vcs-server/[id] VCS 서버 삭제

3.2 사용자 VCS 계정 API

Method Endpoint 설명
GET /api/my/vcs-accounts 내 VCS 계정 목록
POST /api/my/vcs-account VCS 계정 등록/수정
DELETE /api/my/vcs-account/[serverId] VCS 계정 삭제

3.3 저장소 관리 API

Method Endpoint 설명 권한
GET /api/project/[id]/repositories 프로젝트 저장소 목록 멤버
POST /api/project/[id]/repository 저장소 추가 PM+
PUT /api/repository/[id] 저장소 수정 PM+
DELETE /api/repository/[id] 저장소 삭제 PM+
POST /api/repository/[id]/sync 수동 동기화 PM+

3.4 커밋 조회 API

Method Endpoint 설명
GET /api/project/[id]/commits 프로젝트 커밋 목록 (필터: 기간, 작성자)
GET /api/commits/my-weekly 내 이번 주 커밋 (주간보고용)
POST /api/project/[id]/commits/refresh 최신 커밋 새로고침

4. 화면 설계

4.1 관리자 - VCS 서버 관리 (/admin/vcs-server)

┌─────────────────────────────────────────────────────────────────┐
│ ⚙️ VCS 서버 관리                                 [+ 서버 추가]  │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 🟢 [Git] GitHub                                             │ │
│ │    github.com                                                │ │
│ │                                          [수정] [삭제]      │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                 │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 🟢 [Git] 사내 GitLab                                        │ │
│ │    gitlab.company.com                                        │ │
│ │                                          [수정] [삭제]      │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                 │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 🔶 [SVN] 사내 SVN                                           │ │
│ │    svn://192.168.1.100                                       │ │
│ │                                          [수정] [삭제]      │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

4.2 마이페이지 - VCS 계정 설정

┌─────────────────────────────────────────────────────────────────┐
│ 마이페이지 > VCS 계정 설정                                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│ ※ 커밋 내역 조회 시 아래 정보로 본인 커밋을 찾습니다.          │
│                                                                 │
│ ─────────────────────────────────────────────────────────────── │
│                                                                 │
│ 🟢 GitHub (github.com)                                          │
│    사용자명: [hyosung_______________]                          │
│    이메일:   [hyosung@gmail.com_____]                          │
│                                                                 │
│ 🟢 사내 GitLab (gitlab.company.com)                             │
│    사용자명: [cho.hyosung___________]                          │
│    이메일:   [hyosung@company.com___]                          │
│                                                                 │
│ 🔶 사내 SVN (svn://192.168.1.100)                               │
│    사용자명: [hyosung_______________]                          │
│                                                                 │
│ ─────────────────────────────────────────────────────────────── │
│                                                                 │
│                              [저장]                             │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

4.3 프로젝트 상세 - 저장소 관리

┌─────────────────────────────────────────────────────────────────┐
│ 프로젝트: PIMS 시스템                           [수정] [삭제]   │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│ 📋 기본 정보                                                    │
│ ...                                                             │
│                                                                 │
│ 📁 저장소 관리                                    [+ 저장소 추가]│
│ ─────────────────────────────────────────────────────────────── │
│                                                                 │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 🔶 [SVN] 메인 저장소                                        │ │
│ │    사내 SVN > /pims/trunk                                    │ │
│ │    마지막 동기화: 2026-01-10 06:00 ✅                        │ │
│ │                                    [동기화] [수정] [삭제]   │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                 │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 🟢 [Git] Frontend                                           │ │
│ │    GitHub > /company/pims-frontend.git (main)                │ │
│ │    마지막 동기화: 2026-01-10 06:00 ✅                        │ │
│ │                                    [동기화] [수정] [삭제]   │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                 │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 🟢 [Git] Backend                                            │ │
│ │    GitHub > /company/pims-backend.git (main)                 │ │
│ │    마지막 동기화: 2026-01-10 06:00 ✅                        │ │
│ │                                    [동기화] [수정] [삭제]   │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                 │
│                        [📊 커밋 내역 보기]                      │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

4.4 프로젝트 커밋 조회 (/project/[id]/commits)

┌─────────────────────────────────────────────────────────────────┐
│ 📊 PIMS 시스템 - 커밋 내역                                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│ 기간: [2026-01-06] ~ [2026-01-10]                              │
│ 저장소: [전체 ▼]   작성자: [전체 ▼]                            │
│                                        [검색]  [🔄 새로고침]   │
│                                                                 │
│ ───────────────────────────────────────────────────────────────│
│ 날짜           저장소              작성자    메시지             │
│ ───────────────────────────────────────────────────────────────│
│ 01-10 14:30   [Git] Frontend      조효성    로그인 버그 수정   │
│ 01-10 11:00   [Git] Backend       조효성    OAuth 콜백 처리    │
│ 01-10 09:00   [Git] Frontend      서혜원    대시보드 차트 수정 │
│ 01-09 16:00   [SVN] 메인 r1234    조효성    사용자 관리 수정   │
│ 01-09 14:00   [Git] Backend       홍길동    API 엔드포인트 추가│
│ 01-08 10:30   [SVN] 메인 r1233    조효성    DB 스키마 변경     │
│ ...                                                             │
│                                                                 │
│ ───────────────────────────────────────────────────────────────│
│ 이번 주 커밋: 총 25건 | +1,234줄 / -456줄                      │
│                                                                 │
│                     [1] [2] [3] ... [5]                        │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

4.5 주간보고 작성 - 커밋 내역 참고

┌─────────────────────────────────────────────────────────────────┐
│ 📝 주간보고 작성                                                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│ 연도/주차: [2026] 년 [2] 주차                                  │
│ 프로젝트:  [PIMS 시스템 ▼]                                     │
│                                                                 │
│ ─────────────────────────────────────────────────────────────── │
│                                                                 │
│ 📋 이번 주 내 커밋 (참고용)                        [🔄 새로고침]│
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │                                                             │ │
│ │ 01-10 금 14:30  [Git-Frontend] 로그인 기능 버그 수정        │ │
│ │                                                             │ │
│ │ 01-10 금 11:00  [Git-Backend] OAuth 콜백 처리 추가          │ │
│ │                                                             │ │
│ │ 01-09 목 16:00  [SVN] r1234 사용자 관리 페이지 수정         │ │
│ │                                                             │ │
│ │ 01-08 수 10:30  [SVN] r1233 DB 스키마 변경                  │ │
│ │                                                             │ │
│ │ ───────────────────────────────────────                     │ │
│ │ 총 4건 | +156줄 / -42줄                                     │ │
│ │                                                             │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                 │
│ ※ VCS 계정 미등록 시:                                          │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ VCS 계정이 등록되지 않았습니다.                             │ │
│ │ [마이페이지 > VCS 계정 설정]에서 등록해주세요.              │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                 │
│ ─────────────────────────────────────────────────────────────── │
│                                                                 │
│ 금주 업무:                                                      │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ (위 커밋 내역 참고하여 작성)                                │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

5. 커밋 수집 로직

5.1 수집 방식 (하이브리드)

┌─────────────────────────────────────────────────────────────────┐
│                      커밋 수집 방식                              │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  [자동 스케줄]                                                  │
│  └─ 매일 새벽 6시 Cron으로 전체 저장소 동기화                   │
│     └─ 수집된 커밋 → wr_commit_log 테이블에 저장                │
│                                                                 │
│  [주간보고 작성 시]                                             │
│  └─ DB에서 바로 조회 (빠름!)                                    │
│                                                                 │
│  [새로고침 버튼]                                                │
│  └─ 해당 프로젝트 저장소만 최신 동기화                          │
│     └─ 방금 커밋한 내용도 확인 가능                             │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

5.2 작성자 매칭 로직

// 커밋 작성자 → 시스템 사용자 매칭
async function matchCommitAuthor(
  serverId: number, 
  commitAuthor: string,    // 커밋 작성자명
  commitEmail: string      // 커밋 이메일 (Git)
): Promise<number | null> {
  
  // VCS 계정 테이블에서 매칭
  // 같은 서버에서 username 또는 email이 일치하는 사용자 찾기
  const matched = await db.query(`
    SELECT e.employee_id 
    FROM wr_employee_vcs_account a
    JOIN wr_employee_info e ON a.employee_id = e.employee_id
    WHERE a.server_id = $1
      AND (a.vcs_username = $2 OR a.vcs_email = $3)
  `, [serverId, commitAuthor, commitEmail]);
  
  if (matched.rows.length > 0) {
    return matched.rows[0].employee_id;
  }
  
  return null;  // 매칭 실패
}

5.2 Git 커밋 수집

// simple-git 라이브러리 사용
import simpleGit from 'simple-git';

async function syncGitCommits(repo: Repository) {
  const git = simpleGit();
  
  // 임시 디렉토리에 clone 또는 pull
  const repoPath = `/tmp/repos/${repo.repo_id}`;
  
  if (existsSync(repoPath)) {
    await git.cwd(repoPath).pull();
  } else {
    await git.clone(repo.repo_url, repoPath, ['--branch', repo.branch_name]);
  }
  
  // 최근 커밋 조회 (마지막 동기화 이후)
  const logs = await git.cwd(repoPath).log({
    '--since': repo.last_sync_at || '1 week ago',
    '--format': '%H|%an|%ae|%aI|%s'
  });
  
  // DB에 저장
  for (const commit of logs.all) {
    await saveCommit({
      repo_id: repo.repo_id,
      commit_hash: commit.hash,
      commit_message: commit.message,
      commit_author: commit.author_email,
      commit_date: commit.date,
      // ... 
    });
  }
}

5.3 SVN 커밋 수집

// svn 명령어 실행
import { exec } from 'child_process';

async function syncSvnCommits(repo: Repository) {
  const since = repo.last_sync_at 
    ? `{${repo.last_sync_at.toISOString()}}` 
    : 'HEAD-100';
  
  const command = `svn log ${repo.repo_url} -r ${since}:HEAD --xml`;
  
  // 인증 정보 추가
  if (repo.auth_username) {
    command += ` --username ${repo.auth_username} --password ${repo.auth_credential}`;
  }
  
  const result = await execPromise(command);
  const logs = parseXml(result); // XML 파싱
  
  for (const entry of logs) {
    await saveCommit({
      repo_id: repo.repo_id,
      commit_hash: entry.revision,
      commit_message: entry.msg,
      commit_author: entry.author,
      commit_date: entry.date,
    });
  }
}

5.5 서버 인증 정보 관리

VCS 서버 접근 시 필요한 인증 정보 (서버 레벨)

-- VCS 서버에 인증 정보 추가 (필요 시)
ALTER TABLE wr_vcs_server
ADD COLUMN auth_type VARCHAR(20) DEFAULT 'NONE',     -- NONE, BASIC, TOKEN, SSH_KEY
ADD COLUMN auth_username VARCHAR(100),
ADD COLUMN auth_credential TEXT;                      -- 암호화 저장

※ 공개 저장소는 인증 불필요 ※ 사내 SVN/GitLab은 서버 레벨 인증 또는 사용자별 인증 선택


6. 환경 설정

6.1 필요 패키지

# Git 연동
npm install simple-git

# SVN 연동 (시스템에 svn 명령어 필요)
# Ubuntu: apt install subversion
# macOS: brew install svn

6.2 환경 변수

# 커밋 수집 설정
COMMIT_SYNC_ENABLED=true
COMMIT_SYNC_CRON=0 6 * * *        # 매일 새벽 6시
COMMIT_SYNC_TEMP_DIR=/tmp/repos   # 임시 저장소 디렉토리

# 보안 (인증 정보 암호화 키)
REPO_CREDENTIAL_SECRET=your-secret-key

7. 보안 고려사항

7.1 인증 정보 보안

항목 처리 방식
비밀번호/토큰 AES-256 암호화 저장
SSH 키 파일로 저장, 권한 제한 (600)
환경 변수 민감 정보 노출 방지

7.2 접근 권한

역할 권한
관리자 모든 저장소 관리, 전체 커밋 조회
PM 담당 프로젝트 저장소 관리
멤버 본인 커밋만 조회

8. 작업 일정

Phase 1: DB + VCS 서버/계정 관리 (3일)

  • 시작:
  • 완료:
  • 소요시간:

작업 내용:

  • wr_vcs_server 테이블 생성
  • wr_employee_vcs_account 테이블 생성
  • wr_repository 테이블 생성
  • wr_commit_log 테이블 생성
  • VCS 서버 관리 API + UI (관리자)
  • 마이페이지 VCS 계정 설정 UI

Phase 2: 저장소 관리 (2일)

  • 시작:
  • 완료:
  • 소요시간:

작업 내용:

  • 저장소 CRUD API
  • 프로젝트 상세에 저장소 관리 UI
  • 저장소 추가/수정 모달

Phase 3: Git 커밋 수집 (3일)

  • 시작:
  • 완료:
  • 소요시간:

작업 내용:

  • simple-git 연동
  • Git 커밋 수집 로직
  • 작성자 매칭 (VCS 계정 기반)
  • 수동 동기화 API

Phase 4: SVN 커밋 수집 (3일)

  • 시작:
  • 완료:
  • 소요시간:

작업 내용:

  • SVN 명령어 연동
  • SVN 커밋 수집 로직
  • XML 파싱
  • 작성자 매칭

Phase 5: 커밋 조회 화면 (3일)

  • 시작:
  • 완료:
  • 소요시간:

작업 내용:

  • 프로젝트별 커밋 조회 API
  • 프로젝트 커밋 조회 페이지 (/project/[id]/commits)
  • 주간보고 작성 시 커밋 참고 UI
  • 새로고침 버튼 (최신 동기화)

Phase 6: 자동화 + 테스트 (2일)

  • 시작:
  • 완료:
  • 소요시간:

작업 내용:

  • Cron Job 설정 (매일 새벽 자동 동기화)
  • 인증 정보 암호화
  • 전체 플로우 테스트
  • 오류 처리

작업 완료 결과

Phase별 작업 시간

Phase 작업 내용 시작 완료 소요시간
1 DB + VCS 서버/계정 관리 - - -
2 저장소 관리 - - -
3 Git 커밋 수집 - - -
4 SVN 커밋 수집 - - -
5 커밋 조회 화면 - - -
6 자동화 + 테스트 - - -
총 소요시간 -

생성/수정된 파일

구분 파일 작업
DB wr_vcs_server 신규 테이블
DB wr_employee_vcs_account 신규 테이블
DB wr_repository 신규 테이블
DB wr_commit_log 신규 테이블
API backend/api/vcs-server/* 신규 (CRUD)
API backend/api/my/vcs-accounts.get.ts 신규
API backend/api/my/vcs-account.post.ts 신규
API backend/api/project/[id]/repositories.get.ts 신규
API backend/api/project/[id]/repository.post.ts 신규
API backend/api/repository/[id].put.ts 신규
API backend/api/repository/[id]/sync.post.ts 신규
API backend/api/project/[id]/commits.get.ts 신규
API backend/api/project/[id]/commits/refresh.post.ts 신규
API backend/api/commits/my-weekly.get.ts 신규
Frontend frontend/pages/admin/vcs-server.vue 신규
Frontend frontend/pages/mypage.vue 수정 (VCS 계정)
Frontend frontend/pages/project/[id].vue 수정 (저장소 관리)
Frontend frontend/pages/project/[id]/commits.vue 신규
Frontend frontend/pages/report/write.vue 수정 (커밋 참고)
Backend backend/services/git-sync.ts 신규
Backend backend/services/svn-sync.ts 신규
Backend backend/jobs/commit-sync.ts 신규 (Cron)
Utils backend/utils/crypto.ts 신규 (암호화)

9. 기술 스택

  • Backend: Nitro (H3) + PostgreSQL
  • Frontend: Nuxt3 + Vue3 + Bootstrap 5
  • Git 연동: simple-git (npm 패키지)
  • SVN 연동: svn CLI (시스템 명령어)
  • 스케줄링: node-cron 또는 시스템 crontab
  • 암호화: crypto (Node.js 내장)

10. 주의사항

10.1 서버 환경

  • SVN 사용 시 서버에 svn 명령어 설치 필요
  • Git 사용 시 서버에 git 명령어 설치 필요
  • 임시 디렉토리 용량 관리 필요

10.2 네트워크

  • 내부 SVN 서버 접근 가능해야 함
  • GitHub/GitLab 등 외부 서비스 접근 가능해야 함
  • 방화벽 설정 확인

10.3 성능

  • 대용량 저장소는 shallow clone 고려
  • 커밋 수집 시 서버 부하 주의 (새벽 실행 권장)

11. 향후 확장 고려

  1. AI 연동: 커밋 메시지 → 주간보고 자동 생성 초안
  2. 코드 통계: 라인 수, 파일 수 통계 대시보드
  3. 커밋-업무 연결: 커밋을 특정 업무 항목에 연결
  4. GitLab/GitHub API: CLI 대신 API 직접 연동
  5. WebHook: Push 이벤트 시 실시간 수집