# --- OS / Tools ---
.DS_Store
*.log
# --- IntelliJ / STS / VSCode ---
.idea/
*.iml
*.ipr
*.iws
.sts4-cache/
.project
.classpath
.factorypath
.settings/
.vscode/
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
# --- Gradle / Build ---
.gradle/
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
# gradle wrapper 스크립트/설정은 반드시 커밋(무시하지 않음)
# gradlew, gradlew.bat, gradle/wrapper/gradle-wrapper.properties (자동 포함)
# --- Spring Boot secrets (샘플만 커밋, 실제 값은 제외) ---
src/main/resources/application*.yml
src/main/resources/application*.yaml
src/main/resources/application*.properties
# --- Frontend (Vite/React 등) ---
**/node_modules/
**/dist/
**/.vite/
**/.next/
**/build/ # CRA 등 프런트 빌드 산출물
**/.env
**/.env.*.local
# --- NetBeans (혹시 쓴다면) ---
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
# --- 문서(선택) ---
# HELP.md
다음은 커밋되어야 정상이야:
소스 코드
src/main/**, src/test/**
Gradle Wrapper 4총사 (필수!)
gradlew, gradlew.bat
gradle/wrapper/gradle-wrapper.jar
gradle/wrapper/gradle-wrapper.properties
프로젝트 메타
build.gradle, settings.gradle, gradle.properties(있다면)
README.md, LICENSE 등 문서
설정 샘플(민감정보 제거본)
예: src/main/resources/application-example.yml
(실제 비번 들어있는 application.yml은 커밋 금지!)
빌드/캐시
.gradle/, build/, out/, bin/
IDE/OS
.idea/, *.iml, *.ipr, *.iws, .vscode/, .DS_Store, *.log
시크릿(실제 운영값)
src/main/resources/application*.yml|yaml|properties
(→ 진짜 키/비번 들어간 파일은 전부 무시)
프런트엔드(있다면)
**/node_modules/, **/dist/, **/.vite/, **/.next/, **/build/
**/.env, **/.env.*.local
참고: .gitignore 안의 !gradle/wrapper/gradle-wrapper.jar 같은 느낌표는
“원래 무시하지만 이건 예외로 추적해”라는 뜻이야.
실제 비번/키 있는 application.yml 계열은 무시되어야 해.
커밋해야 할 건 샘플 파일만! (예: application-example.yml)
샘플에는 이렇게 가짜 값으로:
spring:
datasource:
url: jdbc:mysql://localhost:3306/board
username: ${DB_USER}
password: ${DB_PASS}
실제 값은 로컬 .zshrc 혹은 서버 환경변수로 관리! (또는 외부 시크릿 매니저)
터미널 열고 프로젝트 루트 폴더로 이동:
cd /path/to/your/project
git --version || xcode-select --install
git config --global user.name "YOUR_NAME"
git config --global user.email "you@example.com"
git init // 이 폴더를 Git으로 관리 시작할게!
// 현재 폴더에 숨김폴더 .git/ 만들어서, 이후부터 버전 관리 시작 가능.
git add . // 현재 폴더 안에 있는 모든 변경된 파일을 "커밋 후보(스테이지)"로 올림.
git commit -m "기본 crud 구현 완료" // 스테이지에 담긴 파일들을 하나의 버전으로 저장.
// -m "메시지" → 어떤 변경인지 기록.
git branch -M main // 현재 브랜치 이름을 main으로 강제 변경
// GitHub 기본 브랜치도 보통 main이라서 맞춰주는 것!
웹에서 New repository → 예: boardstudy1
(가능하면 빈 저장소로 생성: README/License/.gitignore 체크 X)
// 원격 저장소(=GitHub 주소)를 origin이라는 이름으로 등록.
// origin은 그냥 별명인데, 보통 다 이걸 씀.
git remote add origin https://github.com/YOUR_ID/boardstudy1.git
// 로컬 main 브랜치 → 원격(origin)의 main 브랜치로 전송.
// -u 옵션: --set-upstream 의 줄임말.
// 내 로컬 main 브랜치랑 원격 origin/main 브랜치랑 매칭시켜줘!
// 앞으로 origin main없이 git push만 쳐도 자동으로 같은 곳으로 보내짐.
git push -u origin main
→ 2단계 인증이면 비밀번호 대신 Personal Access Token 사용!
# 최초 1회만 키 생성/등록
ls -al ~/.ssh || true
ssh-keygen -t ed25519 -C "you@example.com"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
pbcopy < ~/.ssh/id_ed25519.pub # 복사해서 GitHub > Settings > SSH keys 등록
# 푸시
git remote add origin git@github.com:YOUR_ID/boardstudy1.git
git push -u origin main
git add .
git commit -m "남기고싶은 메세지"
git push