코딩을 모르는 상태에서 처음 부딪힌 게 버전관리와 배포였습니다. 여기서 배운 걸 한자리에 모았어요. → 상위: 개발 지식 지도
포크 → 커밋 → 배포는 한 흐름
- 포크 = 남의 템플릿을 내 GitHub 계정으로 통째 복사. 그다음 내용만 바꾼다.
- 배포에 필요한 도구 네 가지: Git, GitHub CLI(
gh), Node.js, Vercel CLI. - AI가 대신 실행한 순서:
git init→git add→git commit→gh repo create --public --source=. --remote=origin --push→vercel --prod --yes. - 직접 해야 하는 건 계정 생성과 비밀번호 입력뿐. GitHub는 직접 가입, Vercel은 “Continue with GitHub”로 로그인.
- GitHub와 Vercel이 한 번 연결되면, 이후 커밋할 때마다 자동으로 다시 배포된다.
로컬 폴더 이름에 한글·띄어쓰기가 있으면 배포 도구가 막힌다
vercel --prod --yes 실행 시:
Error: Project names can be up to 100 characters long and must be lowercase.
원인은 폴더 경로(“민철 포트폴리오”)의 한글·띄어쓰기가 그대로 프로젝트 이름으로 쓰이려다 규칙에 걸린 것. 해결은 “프로젝트 이름을 영문(gpters-study)으로 직접 지정해줘”라고 요청.
git 잠금 파일 — 비정상 종료가 남긴 찌꺼기
- git은 작업 중에
.git/index.lock,.git/HEAD.lock같은 임시 잠금 파일을 만든다. 정상적으로는 작업이 끝나면 자동으로 사라진다. - 프로그램이 비정상 종료되면 이 파일이 안 지워지고 남아(stale lock) 다음 작업을 막는다.
fatal: Unable to create '.../.git/index.lock': File exists.
Another git process seems to be running in this repository...
해결 순서 (건너뛰면 저장소가 꼬인다):
- 지금 이 저장소를 건드리는 다른 프로그램(GitHub Desktop, 다른 터미널, 편집기)이 실행 중인지 확인 (
tasklist) - 있으면 종료
- 그래도 오류가 남으면, 프로세스가 진짜 없는지 다시 확인한 뒤에만 잠금 파일을 지운다
한 저장소를 두 도구로 동시에 만지지 않는다
AI(터미널)로 작업하는데 GitHub Desktop이 배경에서 같은 저장소에 자동 커밋·푸시를 하고 있었다. 두 도구가 겹치며 잠금 오류가 났다. → GitHub Desktop과 터미널 중 하나로만 커밋한다.
”저장했다”를 그대로 믿지 않는다
- 요청하기도 전에 낯선 커밋이 이미 올라가 있던 적이 있다. 로컬 로그만 보지 말고
gh api repos/.../commits/master로 서버에 직접 물어봐 실제 상태를 확인했다. - 습관: 커밋·배포 뒤엔
git status나 GitHub 저장소 화면에서 실제로 반영됐는지 눈으로 한 번 더 본다.
봇이 커밋하는 저장소는 편집 전에 git pull
봇이 하루에도 여러 번 이 저장소에 커밋한다. 어느 날 편집을 시작할 때 로컬이 커밋 8개만큼 뒤처져 있었다. 모르고 편집했으면 충돌로 시간을 날렸을 것.
Vercel — 연속 커밋의 빨간 X는 오류가 아니다
봇이 몇 초 간격으로 커밋 3개를 올리면, Vercel은 진행 중이던 앞 빌드를 자동 취소하고 마지막 것만 배포한다. 커밋 목록 가운데의 빨간 X는 상태를 보면 Canceled from the Vercel Dashboard — 정상 동작이다. 마지막 커밋만 초록이면 배포는 정상.
재사용 프롬프트
지금 이 폴더를 통째로 GitHub에 올려줘. Git으로 해줘.
나는 코딩을 몰라서 명령어를 직접 못 쳐, 네가 대신 실행해줘.
- 새 저장소를 만들어서 이 폴더 내용을 전부 올려줘.
- 로그인/인증이 필요하면 뭘 어디서 해야 하는지 알려줘.
git 오류가 나는데, 지금 이 저장소를 다른 프로그램이 건드리고 있는지
먼저 확인하고, 잠금 파일 문제면 안전하게 해결해줘.