팀원이 각자 PC에서 웹 Git 작업 도구를 실행할 수 있도록, 필요한 파일을 ZIP 또는 EXE 형태로 묶어 배포합니다.
실행 시 Git for Windows 또는 Git LFS가 없으면 winget으로 자동 설치를 시도합니다.
관리자 PC에서 다음 파일을 실행합니다.
F:\bridge\game_attribute_system\tools\build-git-tool-distribution.bat
성공하면 다음 형태의 결과물이 생성됩니다.
F:\bridge\game_attribute_system\dist\AMir-Git-Tool-YYYYMMDD-HHMM.zip
이 ZIP 파일을 팀원에게 전달하면 됩니다.
팀원 PC에 Python을 설치시키고 싶지 않다면 EXE 배포판을 만듭니다.
F:\bridge\game_attribute_system\tools\build-git-tool-exe.bat
성공하면 다음 형태의 결과물이 생성됩니다.
F:\bridge\game_attribute_system\dist\AMir-Git-Tool-Exe-YYYYMMDD-HHMM.zip
이 ZIP에는 AMirGitTool.exe가 들어 있습니다. 팀원은 압축을 풀고 AMirGitTool.exe만 실행하면 됩니다.
EXE 배포판은 Python 없이 실행됩니다. Git 명령 자체는 PC에 설치된 Git을 사용하지만, Git for Windows 또는 Git LFS가 없으면 시작 시 winget으로 자동 설치를 시도합니다.
Start-AMir-Git-Tool.bat를 실행합니다.http://127.0.0.1:8080/git.html을 엽니다.F:\AMir입니다.Auth Check를 누릅니다. 인증이 만료되어 있으면 포함된 auth-amir-git.bat가 자동 실행됩니다.실행 초기에 Git for Windows 또는 Git LFS가 없으면 자동 설치를 먼저 시도합니다. 설치 후 현재 실행 창의 PATH를 다시 잡아 바로 사용할 수 있게 처리합니다.
winget 권장. Git for Windows와 Git LFS 자동 설치에 사용합니다.winget install --id Git.Git --exact --source winget으로 자동 설치를 시도합니다.winget install --id GitHub.GitLFS --exact --source winget으로 자동 설치를 시도합니다.일반 ZIP 배포판은 Python 3.10 이상이 필요합니다. EXE 배포판은 Python이 필요하지 않습니다.
회사 보안 정책 등으로 winget이 막혀 있으면 Git for Windows와 Git LFS를 수동 설치한 뒤 다시 실행하면 됩니다.
기본 포트는 8080입니다. 이미 사용 중이면 압축 해제한 폴더의 Start-AMir-Git-Tool.bat에서 아래 값을 바꿉니다.
set "PORT=8080"
배포판에서는 서버가 설치 위치를 기준으로 인증 BAT 기본 경로를 자동 전달합니다. 사용자가 웹 화면에서 직접 경로를 바꾸면 브라우저 localStorage의 gitTool.authScriptPath에 저장됩니다.
인증 BAT는 계정 정보나 토큰을 파일에 저장하지 않습니다. Git Credential Manager를 사용하도록 설정하고, 실제 인증 정보는 각 PC의 각 Windows 사용자 자격 증명 저장소에 저장됩니다.
Fork는 도구 내부에서 Gitea API로 처리합니다. 원본 저장소 origin은 그대로 두고, 사용자 개인 fork를 fork remote로 연결합니다.
Fork 생성/연결은 Gitea API로 fork를 만들고 remote를 연결합니다. Fork에 Push는 현재 브랜치를 fork remote로 올립니다. PR 생성은 원본 저장소에 Pull Request를 생성합니다.
Fork 리스트 보기는 원본 저장소에서 파생된 fork 목록을 보여주며, 항목을 클릭하면 해당 fork의 Clone URL이 입력칸에 적용됩니다.
이 기능은 사용자별 Gitea API Token이 필요합니다. 토큰은 현재 브라우저 세션에만 보관하며 배포 파일이나 localStorage에는 저장하지 않습니다.
127.0.0.1이므로 외부에 공개되지 않습니다.Pull --rebase, Push, AMir.uproject 변경 버리기는 확인 창을 거칩니다.reset --hard나 강제 push 같은 파괴적인 자동 작업은 포함하지 않습니다.감탄과 신고는 로그인 후 이용할 수 있습니다.
Replies