# 한세로 Git 저장소 관리 규칙 한세로 Git 저장소는 프로그램 소스 코드와 수정 이력을 관리하기 위한 공간입니다. 기존 NAS 폴더 구조는 그대로 유지하되, Git 저장소는 프로그램 단위로 생성합니다. --- ## 1. 기본 원칙 * 저장소는 프로그램 단위로 생성한다. * 저장소 이름은 영어 소문자, 숫자, 하이픈만 사용한다. * 저장소 설명은 한글로 작성한다. * 설치파일, 실행파일, 빌드 결과물, 대용량 데이터는 Git에 올리지 않는다. * 실제 현장 설정값, 비밀번호, 인증서, API Key는 Git에 올리지 않는다. --- ## 2. 대분류 규칙 저장소 이름의 첫 번째 항목은 대분류 코드로 작성한다. | 대분류 | 의미 | | ------- | ------------------ | | hmc | 현대자동차 | | kmc | 기아자동차 | | hansero | 한세로 사내 | | etc | 기타 고객사 | 기타 고객사는 `etc` 뒤에 고객사명을 소분류로 작성한다. 예: ```text etc-mobis-anyang-assembly1-vision-inspection etc-sampyo-cheongju-silo-level-inspection etc-kmmg-georgia-assembly1-vision-inspection ``` --- ## 3. 저장소 이름 형식 ### 현대자동차 / 기아자동차 ```text 대분류-지역-공장구분-프로그램명 ``` 예: ```text hmc-ulsan-assembly2-bolt-inspection hmc-jeonju-body1-underbody-inspection kmc-gwangju-assembly1-misassembly-inspection ``` ### 한세로 사내 / 공통 개발 ```text hansero-프로그램명 ``` 예: ```text hansero-hai-studio hansero-groupware hansero-chat hansero-visioncore-sdk hansero-ai-runtime ``` ### 기타 고객사 ```text etc-고객사-지역-공장구분-프로그램명 ``` 예: ```text etc-mobis-anyang-assembly1-vision-inspection etc-sampyo-cheongju-silo-level-inspection etc-kmmg-georgia-assembly1-vision-inspection ``` --- ## 4. 지역 코드 | 지역 | 코드 | | ------ | --------------- | | 울산 | ulsan | | 전주 | jeonju | | 광주 | gwangju | | 남양 | namyang | | 의왕 | uiwang | | 안양 | anyang | | 청주 | cheongju | | 중국 광저우 | china-guangzhou | | 체코 | czech | | 미국 조지아 | georgia | | 해외 | overseas | 해외 공장은 별도 대분류를 만들지 않고 지역 코드에 국가 또는 도시명을 포함한다. 예: ```text hmc-china-guangzhou-assembly1-vision-inspection kmc-georgia-assembly1-vision-inspection etc-mobis-czech-assembly1-vision-inspection ``` --- ## 5. 공장구분 코드 | 공장 구분 | 코드 | | ----- | ------------ | | 의장 | assembly | | 차체 | body | | 도장 | paint | | 프레스 | press | | 엔진 | engine | | 변속기 | transmission | | 배터리 | battery | | 품질 | quality | | 연구소 | research | | 사무/관리 | office | 공장 번호가 있으면 공장구분 뒤에 숫자를 붙인다. 예: ```text assembly1 assembly2 body1 body2 paint1 engine1 research office ``` --- ## 6. 프로그램명 작성 규칙 프로그램명은 기능을 알 수 있게 작성한다. 예: ```text bolt-inspection pin-inspection label-inspection underbody-inspection misassembly-inspection bead-inspection silo-level-inspection vision-system mes-interface groupware chat hai-studio visioncore-sdk ai-runtime ``` --- ## 7. 저장소 이름 예시 ### 현대자동차 ```text hmc-ulsan-assembly2-bolt-inspection hmc-ulsan-body2-pin-inspection hmc-jeonju-body1-underbody-inspection hmc-namyang-research-vision-system ``` ### 기아자동차 ```text kmc-gwangju-assembly1-misassembly-inspection kmc-gwangju-body1-vision-inspection ``` ### 한세로 ```text hansero-hai-studio hansero-groupware hansero-chat hansero-visioncore-sdk hansero-ai-runtime ``` ### 기타 고객사 ```text etc-mobis-anyang-assembly1-vision-inspection etc-sampyo-cheongju-silo-level-inspection etc-kmmg-georgia-assembly1-vision-inspection ``` --- ## 8. 저장소 설명 작성 규칙 저장소 설명은 한글로 작성한다. 설명에는 고객사, 지역, 공장, 프로그램 기능을 사람이 알아보기 쉽게 적는다. 예: | 저장소명 | 설명 | | -------------------------------------------- | ------------------------------- | | hmc-ulsan-assembly2-bolt-inspection | 현대자동차 울산 의장2공장 볼트 검사 프로그램 | | hmc-jeonju-body1-underbody-inspection | 현대자동차 전주 차체1공장 하부 검사 프로그램 | | kmc-gwangju-assembly1-misassembly-inspection | 기아자동차 광주 의장1공장 오장착 검사 프로그램 | | etc-mobis-anyang-assembly1-vision-inspection | 현대모비스 안양 의장1공장 비전 검사 프로그램 | | hansero-hai-studio | 한세로 AI 트레이너 / VisionCore Studio | | hansero-groupware | 한세로 그룹웨어 | --- ## 9. 검색 기준 Gitea에서 저장소를 찾을 때는 저장소 이름을 우선 기준으로 검색한다. 따라서 저장소 이름에는 검색에 필요한 핵심 키워드를 포함한다. 검색 가능한 키워드 예: ```text hmc kmc hansero etc ulsan jeonju gwangju assembly2 body1 bolt pin inspection groupware hai-studio ``` 한글 검색을 위해 저장소 설명에도 고객사, 지역, 공장, 프로그램명을 한글로 작성한다. 예: ```text 저장소명: hmc-ulsan-assembly2-bolt-inspection 설명: 현대자동차 울산 의장2공장 볼트 검사 프로그램 ``` --- ## 10. Git에 올릴 것 아래 항목은 Git에 올린다. ```text 소스 코드 프로젝트 파일 솔루션 파일 README.md 설정 샘플 파일 DB 스크립트 간단한 문서 간단한 샘플 데이터 ``` --- ## 11. Git에 올리지 않을 것 아래 항목은 Git에 올리지 않는다. ```text bin obj .vs exe dll zip msi 설치파일 빌드 결과물 런타임 폴더 학습 데이터 학습 모델 대량 이미지 로그 파일 현장 백업 파일 비밀번호 API Key 인증서 ``` --- ## 12. .gitignore 기본 예시 각 저장소에는 반드시 `.gitignore`를 만든다. ```gitignore .vs/ bin/ obj/ artifacts/ *.user *.suo *.log *.zip *.exe *.dll *.msi runs/ *.pt *.onnx *.engine PortableRuntime/ OfflineRuntime/ .env appsettings.Production.json config.local.json ``` --- ## 13. 기존 NAS 폴더와 Git 역할 기존 NAS 폴더는 고객사, 공장, 납품본, 설치파일, 백업 자료를 보관하는 용도로 유지한다. Git 저장소는 소스 코드와 수정 이력을 관리하는 용도로 사용한다. ```text NAS 폴더 → 납품본, 설치파일, 현장 백업, 이미지, 문서 보관 Git 저장소 → 소스 코드, 수정 이력, 협업 관리 ``` --- ## 14. 권한 관리 | 권한 | 용도 | | ----- | ------------------- | | Read | 조회, clone, pull | | Write | 소스 수정, commit, push | | Admin | 저장소 설정 변경 | 일반 개발자는 기본적으로 Write 권한을 사용한다. --- ## 15. 주의사항 저장소 이름은 한 번 정하면 계속 사용하므로 신중하게 정한다. 한글은 저장소 설명, README, Wiki, Issue에서 사용한다. 저장소 이름에는 영어 소문자, 숫자, 하이픈만 사용한다. 대용량 파일은 Git에 올리지 않고 NAS 공유 폴더 또는 Gitea Release에 별도 보관한다.