개념 2026-09-08

Git·배포

포크부터 배포까지의 흐름, git 잠금 파일, GUI와 터미널 충돌, "저장했다"를 믿지 않기, Vercel 자동 재배포의 함정.

코딩을 모르는 상태에서 처음 부딪힌 게 버전관리와 배포였습니다. 여기서 배운 걸 한자리에 모았어요. → 상위: 개발 지식 지도

포크 → 커밋 → 배포는 한 흐름

  • 포크 = 남의 템플릿을 내 GitHub 계정으로 통째 복사. 그다음 내용만 바꾼다.
  • 배포에 필요한 도구 네 가지: Git, GitHub CLI(gh), Node.js, Vercel CLI.
  • AI가 대신 실행한 순서: git initgit addgit commitgh repo create --public --source=. --remote=origin --pushvercel --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...

해결 순서 (건너뛰면 저장소가 꼬인다):

  1. 지금 이 저장소를 건드리는 다른 프로그램(GitHub Desktop, 다른 터미널, 편집기)이 실행 중인지 확인 (tasklist)
  2. 있으면 종료
  3. 그래도 오류가 남으면, 프로세스가 진짜 없는지 다시 확인한 뒤에만 잠금 파일을 지운다

출처: GitHub Desktop과 AI가 동시에 건드려서 생긴 git 오류

한 저장소를 두 도구로 동시에 만지지 않는다

AI(터미널)로 작업하는데 GitHub Desktop이 배경에서 같은 저장소에 자동 커밋·푸시를 하고 있었다. 두 도구가 겹치며 잠금 오류가 났다. → GitHub Desktop과 터미널 중 하나로만 커밋한다.

”저장했다”를 그대로 믿지 않는다

  • 요청하기도 전에 낯선 커밋이 이미 올라가 있던 적이 있다. 로컬 로그만 보지 말고 gh api repos/.../commits/master서버에 직접 물어봐 실제 상태를 확인했다.
  • 습관: 커밋·배포 뒤엔 git status나 GitHub 저장소 화면에서 실제로 반영됐는지 눈으로 한 번 더 본다.

봇이 커밋하는 저장소는 편집 전에 git pull

봇이 하루에도 여러 번 이 저장소에 커밋한다. 어느 날 편집을 시작할 때 로컬이 커밋 8개만큼 뒤처져 있었다. 모르고 편집했으면 충돌로 시간을 날렸을 것.

출처: 학습위키 구조를 다시 짠 하루 · 용어 vs 이슈를 가른 하루

Vercel — 연속 커밋의 빨간 X는 오류가 아니다

봇이 몇 초 간격으로 커밋 3개를 올리면, Vercel은 진행 중이던 앞 빌드를 자동 취소하고 마지막 것만 배포한다. 커밋 목록 가운데의 빨간 X는 상태를 보면 Canceled from the Vercel Dashboard — 정상 동작이다. 마지막 커밋만 초록이면 배포는 정상.

출처: n8n이 GitHub에 직접 글을 쓰게 만들기

재사용 프롬프트

지금 이 폴더를 통째로 GitHub에 올려줘. Git으로 해줘.
나는 코딩을 몰라서 명령어를 직접 못 쳐, 네가 대신 실행해줘.
- 새 저장소를 만들어서 이 폴더 내용을 전부 올려줘.
- 로그인/인증이 필요하면 뭘 어디서 해야 하는지 알려줘.
git 오류가 나는데, 지금 이 저장소를 다른 프로그램이 건드리고 있는지
먼저 확인하고, 잠금 파일 문제면 안전하게 해결해줘.