Git .. 시작하는 방법..
Git, 첫 발자국
코딩 비전공자가 직접 굴려본 Git 시작 안내서
코딩 배경 하나 없던 세무사가 Claude와 함께 CRM을 만들어오면서, Git이라는 도구가 어떤 원리로 굴러가는지 조금씩 알게 됐다. 오늘은 그중에서도 가장 처음 마주치는 질문 — “Git은 어떻게 시작하나?” — 에 대한 메모를 남긴다. 같은 길을 걷는 누군가에게 작은 별빛이 되길 바라며.
1. Git 명령어는 왜 cmd에서도 그냥 실행되는가
Git을 설치하고 나서 cmd 창에 git status를 쳤더니 잘 동작한다. 어? 분명 Git Bash라는 별도 셸이 같이 깔린 것 같은데, cmd에서도 되네? 이게 어떻게 가능한 걸까.
답은 단순하다. Git은 그냥 하나의 실행 파일이기 때문이다. Windows에 Git을 설치하면 보통 다음 경로에 git.exe가 자리잡는다.
C:\Program Files\Git\cmd\git.exe
그리고 설치 과정에서 이 경로가 Windows의 PATH 환경변수에 자동으로 등록된다. PATH는 쉽게 말해 “어디서든 이름만 치면 찾아서 실행해주는 프로그램 목록”이다. notepad, ping, ipconfig가 어디서든 동작하는 것과 똑같은 원리다.
그래서 cmd든 PowerShell이든 Git Bash든 VS Code 터미널이든, 어디서 쳐도 같은 git.exe를 호출하기 때문에 결과는 동일하다. 셸 종류는 본질적으로 중요하지 않다.
다만 한 가지 주의: Git 명령은 반드시 Git 저장소 폴더 안에서 실행해야 한다. 그 폴더에 숨겨진 .git 폴더가 있어야 Git이 “여기가 저장소구나” 하고 인식한다. 엉뚱한 폴더에서 치면 fatal: not a git repository 같은 에러를 만난다.
2. 새 프로젝트를 Git으로 추적하는 두 가지 길
로컬에 새 폴더를 만들고 새 프로젝트를 시작할 때 Git으로 추적되게 하려면 어떻게 해야 할까. 시나리오는 크게 두 가지다.
시나리오 A — 로컬에서 먼저 시작, 나중에 GitHub로
이미 코드가 어느 정도 쌓인 폴더를 뒤늦게 Git에 올리고 싶을 때의 흐름이다.
1폴더 만들고 Git 초기화
cd c:\site
mkdir my-new-project
cd my-new-project
git init
git init을 치면 그 폴더 안에 숨겨진 .git 폴더가 만들어진다. 이 순간부터 Git이 그 폴더를 저장소로 인식하고 변경사항을 추적하기 시작한다.
2기본 브랜치 이름을 main으로
git branch -M main
옛날 Git의 기본 브랜치 이름은 master였지만, 요즘은 main이 표준이다. GitHub도 main이 기본이므로 통일해두자.
3.gitignore 먼저 만들기 (이게 가장 중요)
Git이 추적하지 말아야 할 파일들의 목록이다. .env처럼 민감한 정보가 담긴 파일은 반드시 여기에 적어 제외해야 한다.
node_modules/
.env
.env.local
*.log
dist/
build/
.DS_Store
순서가 결정적이다. 만약 .env를 먼저 커밋한 다음에 .gitignore에 추가하면, 이미 커밋된 .env는 Git 히스토리에 영원히 남는다. GitHub에 그대로 올라가서 보안 사고로 이어질 수 있다. git init 직후, 어떤 파일도 추가하기 전에 먼저 .gitignore를 만드는 습관을 들이자.
4첫 커밋
git add .
git commit -m "Initial commit"
git add .는 현재 폴더의 모든 변경사항을 스테이징 영역에 올린다. git commit은 그것을 하나의 커밋으로 기록한다.
5GitHub에서 빈 저장소 만들기
브라우저로 github.com에 접속해서 우측 상단 + → New repository. 이름을 정하고, “Add a README file”, “.gitignore”, “license” 체크박스는 모두 끈다. 이걸 체크하면 GitHub가 첫 커밋을 자기 멋대로 만들어서 나중에 push할 때 충돌이 난다.
6로컬과 GitHub 연결하고 push
git remote add origin https://github.com/USERNAME/my-new-project.git
git push -u origin main
git remote add origin <URL>은 “origin이라는 이름으로 이 GitHub 주소를 등록”하는 명령이다. git push -u origin main의 -u 옵션은 “앞으로 로컬 main과 origin main을 짝지어두라”는 의미. 한 번만 해두면 다음부터는 그냥 git push만 쳐도 동작한다.
시나리오 B — GitHub에서 먼저 만들고 로컬로 가져오기
이쪽이 사실 더 단순하고 안전한 길이다. 새 프로젝트라면 이 방식을 추천한다.
1GitHub에서 먼저 저장소 생성 (이번엔 README 체크해도 무방)
2로컬에 clone
cd c:\site
git clone https://github.com/USERNAME/my-new-project.git
cd my-new-project
git clone 한 줄로 다음 작업이 모두 끝난다:
- 폴더 자동 생성
.git폴더 자동 생성 (Git 추적 활성화)- origin 원격 자동 등록
- main 브랜치 자동 체크아웃
시나리오 A의 4~6단계를 한 줄로 압축한 셈이다. 그래서 GitHub에 먼저 저장소를 만드는 흐름이 권장된다.
3이후엔 .gitignore 만들고, 코드 작성하고, 커밋·push
git add .
git commit -m "Add initial files"
git push
3. 새 PC에서 Git을 처음 쓸 때 한 번만 하는 설정
Git은 커밋할 때마다 “누가 이 커밋을 만들었는지” 기록한다. 새 PC에서 Git을 처음 쓴다면 사용자 정보를 한 번 등록해주자. --global 옵션을 붙이면 그 PC의 모든 Git 프로젝트에 공통으로 적용된다.
git config --global user.name "XXXXXX"
git config --global user.email "your-email@example.com"
팁: 이메일은 GitHub에 등록된 이메일로 맞추는 게 좋다. 그래야 GitHub가 그 커밋을 자신의 계정으로 인식해서 프로필에 잔디(commit graph)가 심어진다.
4. 정리 — 가장 단순한 흐름
요약하면 새 프로젝트를 시작하는 가장 깔끔한 순서는 이렇다.
1. GitHub에서 New repository 생성 (README 체크해도 OK)
2. cd c:\site
3. git clone <저장소 URL>
4. cd <폴더명>
5. .gitignore 만들기 (.env 등 민감 파일 제외)
6. 코드 작성
7. git add . && git commit -m "..." && git push
이미 코드가 있는 로컬 폴더를 뒤늦게 Git에 올리고 싶다면 시나리오 A의 흐름을 따른다. .gitignore를 첫 커밋 전에 만드는 것만 명심하면 된다.
Git은 처음엔 낯설지만, 한 번 익숙해지면 코드를 다루는 자세 자체가 달라진다. “되돌릴 수 있다”는 안전망 위에서 무엇이든 시도해볼 수 있다는 것. 그게 Git이 주는 가장 큰 선물이다.
— 코딩 비전공자 세무사의 메모