제작 동기
유니티프로젝트에서 GIT을 연동하기 위해서는 GIT Repository 제작 -> 로컬 레포지토리로 클론 -> Unity 프로젝트 제작 -> 커밋 및 푸시라는 동작을 해야한다.
습관처럼 유니티프로젝트를 먼저 생성했다면
Unity프로젝트 폴더에서 Bash열고 로컬브랜치 만들고 -> 원격 레포지토리 만들고 -> 로컬브랜치에 연결하고 -> 커밋 및 푸시하고라는 과정을 거쳐야하는데
이부분이 개발이 오래걸리고, 프로젝트가 자주생성되지않는다면 그냥 하면되지만, 이번 강의의 과제는 일주일안에 게임 3개를 만들어야하기때문에 이과정을 3번이나 반복할 자신이 없었다.
그래서 이를 '딸깍'으로 해결해 줄 생각이 떠올랐다.
유니티 프로젝트는 2D, 3D와 같은 템플릿이 다를 수 있으니 기존처럼 만드는걸로하고, 원격레포지토리를 배치파일내에서 생성하는 방법은 찾지못했으니 이것도 기존대로 하자. 레포지토리 이름은 프로젝트 이름과 동일하게 세팅하고, 레포지토리를 찾을 수 없으면 깃링크를 전달하는 방식으로 만들고. 그 이후 과정들을 묶어주는 배치파일을 만들어서 프로젝트루트에 배치파일을 복사해서 두고 실행시키면 알아서 내 깃허브에 연동되게끔 설정해 보겠다.
학습 내용
우선 템플릿이 될 수 있게끔 README와 .gitignore를 미리 만들어 줬다. README.md파일에는 replace를 사용하기 위해 프로젝트명과, 날짜text를 넣어서 템플릿을 복제한 후, 바꿔서 넣도록 하겠다.

그 이후 배치파일을 만들겠다.
@echo off
chcp 65001 > nul
echo.
echo =======================================
echo Unity 프로젝트 Git 연결 배치파일
echo =======================================
echo.
:: GitHub 사용자 이름
set githubUser=leedh12
:: 템플릿 폴더 경로
set templatePath=E:\game\UnityGitTemplate
:: 현재 폴더 이름을 프로젝트 이름으로 설정
for %%I in (.) do set projectName=%%~nxI
echo 프로젝트 이름: %projectName%
echo GitHub 사용자: %githubUser%
echo.
:: GitHub 저장소 존재 여부 확인
git ls-remote https://github.com/%githubUser%/%projectName%.git > nul 2>&1
if %errorlevel% equ 0 (
echo GitHub 레포지토리가 이미 존재합니다.
set remoteUrl=https://github.com/%githubUser%/%projectName%.git
) else (
echo GitHub에 "%projectName%" 레포지토리가 없습니다.
set /p remoteUrl="직접 만든 레포지토리 주소를 입력하세요: "
)
:: README 및 .gitignore 복사
if not exist "%templatePath%\README.md" (
echo README.md 템플릿이 없습니다. 확인하세요.
) else (
copy "%templatePath%\README.md" "%cd%\README.md" > nul
powershell -Command "(Get-Content README.md) -replace '프로젝트명', '%projectName%' | Set-Content README.md"
echo README.md를 생성했습니다.
)
if not exist "%templatePath%\.gitignore" (
echo .gitignore 템플릿이 없습니다. 확인하세요.
) else (
copy "%templatePath%\.gitignore" "%cd%\.gitignore" > nul
echo .gitignore를 생성했습니다.
)
:: Git 초기화 및 연결
git init
git branch -m main
git remote add origin %remoteUrl%
:: 초기 커밋 및 푸시
git add .
git commit -m "Initial commit (%projectName%)"
git push origin main --force
echo.
echo =======================================
echo Git 초기화 및 원격 연동 완료
echo =======================================
echo.
pause
테스트를 위해, 우선 다른 이름의 레포지토리로 테스트를 하고, 프로젝트명과 맞는 레포지토리를 생성했다.

미리 설정된 부분과, 해당 폴더명이 프로젝트 이름으로 설정된 모습니다.
하지만 레포지토리 주소중 레포지토리 이름이 지금과 다르므로, 레포지토리 주소를 입력해보겠다.

레포지토리를 입력한 후,

레포지토리에 push된것을 확인할 수 있다.
활용 사례
개인프로젝트나, 초기 설정을 할때 사용하면 편하게 구조를 잡을 수 있다.
주의점
프로젝트명이 기존 레포지토리와 겹치면, 강제로 푸시하기때문에 코드가 날아갈 가능성이 농후하다.
프로젝트를 하나 만들고 한번 실행하면, 파일을 꼭 지워 두번 실행될 가능성을 없애고, 프로젝트명을 절대 겹치지 않게 작업하자.
'Unity > Unity 개발' 카테고리의 다른 글
| Unity 2D + Stack 게임 제작 일기(1) (0) | 2025.05.02 |
|---|---|
| Unity hub Animation창에서 Sample 설정이 안보일 때 처리 방법 (0) | 2025.04.30 |
| Unity 카드 뒤집기 게임 고도화하기 (4) 해상도에 맞춘 카드 배치하기 (0) | 2025.04.11 |
| Unity 카드 뒤집기 게임 고도화하기 (3-2) 난이도 해금 시스템 만들기 (0) | 2025.04.11 |
| Unity 카드 뒤집기 게임 고도화 하기 (3-1) 스테이지 구성하기 (0) | 2025.04.11 |