- terminal(명령 프롬프트) 열어 작성
git config --global user.email" 이메일작성란 "
git config --global user.name"이름작성란"
git config --list
.
.
.
❓공개키(SSH key)를 만들기전에 다른곳에서 배울땐 이런 key등록같은건 없었는데 왜써야하는건지 궁금했다
🔐 왜 공개키(SSH key)를 만드는 걸까?
👉 내 컴퓨터랑 깃허브가 ‘믿을 수 있는 사이’라는 걸 인증하기 위함
내 컴퓨터에 있는 비밀키(private key)와
깃허브에 등록한 공개키(public key)가 짝이 맞아야
"오케이 너는 진짜 너다. push/pull 마음껏 해~" 하고 깃허브가 허락해줌
내가 전에 배운건 아마 HTTPS 방식으로 .. 그랬나..?
📌HTTPS 방식: 깃 명령 쓸 때마다 아이디/비번 입력
📌SSH 방식: 한 번만 키 등록하면, 그 다음부터는 암연결했을거라는호 없이도 push/pull 가능
✔️ SSH 방식이 더 편하고 보안도 좋으니까, 요즘은 처음부터 SSH 쓰라고 많이한다고 함. OK ㄱㄱ


나도 ls를 사용해서 리스트 확인하려했는데...

👉 ls는 Mac/Linux 명령어고, 지금 나는 Windows CMD를 쓰고 있어서 그렇단다
👉 Windows CMD에서는 ls 대신 dir을 써야 함!
-> 이제 파일리스트가 조회가된다..!
(그중 날짜랑 시간이 오늘이고, < DIR> 표시된 항목이면 오늘 만든 .ssh 폴더나 그 안의 파일일 가능성이므로 그 파일을 확인해야함!) 파일이름을 안적어서인지 .ssh만 보임

1) .ssh폴더로 이동(cd .ssh입력)
-> 지금 위치가 .ssh 폴더 바로 바깥이기 때문 즉, .ssh은 현재 디렉토리 안에 있는 하위 폴더라서 상대 경로로 접근 가능

🎯 tip


3) dir로 파일 목록 확인
id_ed숫자들.pug 파일이 보인다!
4) type id_ed숫자들.pug 를 작성하여 공개키 확인!
cat → Mac/Linux에서 파일 내용 보는 명령어
type → Windows에서 같은 역할을 하는 명령어



깃초기화개념이 중요!!
mac의 경우 폴더삭제 명령어 rm-rf.git
git init
Git 초기화를 "해제"하고 싶다면, 사실상 .git 폴더를 삭제하면 됨.
📁 Windows에서:
rmdir /s /q .git
rm -rf .git
주의: rm -rf는 강력한 삭제 명령어이므로 항상 경로 확인 후 실행할 것!
👉 gitignore 파일 만들기 사이트
javascript, react등 원하는 프로젝트 검색후 코드 .gitignore파일에 붙여넣기
🔥 무시하고 싶은 파일 예시
# 폴더 무시
node_modules/
# 특정 파일 무시
.env
# 특정 확장자 무시
*.log
# 특정 폴더 내부 파일만 무시
dist/

| 단계 | 설명 |
|---|---|
| 🗂️ Working Directory | 실제로 작업하는 내 컴퓨터의 폴더. 파일 수정, 생성, 삭제 등이 여기에 발생. |
| 📦 Staging Area (Index) | 커밋할 파일을 "임시 보관"하는 곳. 어떤 파일을 저장할지 Git에게 알려주는 단계. |
| 📘 Local Repository | 내 PC에 저장된 Git 저장소. 커밋한 이력들이 여기에 저장됨. git commit 하면 여기에 들어감. |
| 🌐 Remote Repository | GitHub 같은 서버 저장소. git push 해야 로컬 내용을 이쪽에 올릴 수 있음. 다른 사람과 협업 시 여기 공유함. |
✔️ 흐름 요약:
| 용어 | 설명 |
|---|---|
| origin | 원격 저장소(Remote Repository)의 기본 이름. 보통 git clone 하면 자동으로 생김. 예: GitHub 주소 |
| HEAD | 현재 내가 보고 있는 커밋. 즉, 내 브랜치가 가리키는 가장 최신 커밋 |
| add | 변경한 파일을 Staging Area(스테이지)로 올리는 명령 (git add 파일명) |
| commit | Staging된 변경사항을 로컬 저장소에 저장하는 것. "스냅샷 찍는다"는 개념 |
| commit message | 커밋할 때 남기는 설명글. "이 커밋이 뭘 바꿨는지" 남김 |
| push | 로컬에서 만든 커밋을 **원격 저장소(GitHub 등)**에 업로드함 |
| fetch | 원격 저장소의 변경 사항을 로컬로 받아오기만 함 (자동으로 병합 안 됨) |
| merge | 두 브랜치의 내용을 합치는 것. 보통 main 브랜치에 기능 브랜치 내용을 머지함 |
| branch | 독립적인 작업 공간. 실험, 기능 개발 등을 다른 작업에 영향 없이 할 수 있음 |
| checkout | 특정 브랜치나 커밋으로 이동하는 명령. 브랜치를 바꾸거나 커밋 상태로 이동할 때 사용 |
| 상황 | 대화 예시 |
|---|---|
| origin | "origin에 push 했어?" → GitHub에 올렸냐는 뜻 |
| HEAD | "지금 HEAD 어디 가리켜?" → 지금 브랜치의 최신 커밋이 어디냐 |
| add | "git add 안 해서 커밋이 안 되네" |
| commit | "작업 끝났으면 커밋 하나 남기자" |
| commit message | "의미 있는 커밋 메시지 좀 써줘…" |
| push | "커밋 했으면 origin/main에 push 해!" |
| fetch | "먼저 fetch 해서 다른 사람 커밋 있는지 봐" |
| merge | "dev 브랜치 main에 merge 해줄래?" |
| branch | "이 기능은 별도 브랜치 파서 작업하자" |
| checkout | "checkout 해서 다른 브랜치로 옮겨봐" |
일부는 제로베이스 강의에서 참고하였습니다.