# 1. Git 공식 사이트에서 다운로드
# https://git-scm.com/download/win
# 2. 설치 후 명령 프롬프트에서 확인
git --version
==== Mac 사용자 ====
# Homebrew가 설치되어 있다면:
brew install git
# 또는 Xcode Command Line Tools 설치:
xcode-select --install
# 설치 확인
git --version
==== Linux 사용자 ====
# Ubuntu/Debian:
sudo apt-get install git
# CentOS/RHEL:
sudo yum install git
# 설치 확인
git --version
===== ⚙️ 첫 번째 설정 - 내 정보 등록하기 =====
**Git을 처음 사용할 때는 반드시 내 정보를 등록해야 합니다.** 이 정보는 내가 만든 커밋(저장)에 기록됩니다.
# 내 이름 설정 (실제 이름 또는 닉네임)
git config --global user.name "김개발"
# 내 이메일 설정 (GitHub 계정 이메일과 동일하게 하는 것을 추천)
git config --global user.email "kim@example.com"
# 설정 확인하기
git config --list
**💡 왜 이 설정이 필요한가요?**
- Git은 누가 언제 어떤 변경을 했는지 기록합니다
- 여러 사람이 협업할 때 누가 작업했는지 구분하기 위해 필요합니다
- GitHub에서 내 기여도를 정확히 보여주기 위해서도 중요합니다
===== 📁 저장소 만들기 - 내 첫 번째 프로젝트 =====
==== 새 프로젝트 시작하기 ====
**1단계: 프로젝트 폴더 만들기**
# 새 폴더 만들기
mkdir my-awesome-project
cd my-awesome-project
# 현재 위치 확인
pwd
**2단계: Git 저장소로 만들기**
# 이 폴더를 Git이 관리하도록 설정
git init
# 성공하면 이런 메시지가 나옵니다:
# "Initialized empty Git repository in /path/to/my-awesome-project/.git/"
**💡 ''git init''이 하는 일:**
- 현재 폴더에 ''.git'' 숨김 폴더를 만듭니다
- 이 폴더에 Git이 필요한 모든 정보를 저장합니다
- 이제 이 폴더는 "Git 저장소"가 됩니다
**3단계: 첫 번째 파일 만들기**
# 간단한 README 파일 만들기
echo "# 내 첫 번째 프로젝트" > README.md
echo "안녕하세요! 이것은 제가 만든 첫 번째 Git 프로젝트입니다." >> README.md
# 파일 내용 확인
cat README.md
===== 📊 상태 확인하기 - 지금 무슨 일이 일어나고 있나요? =====
==== ''git status'' - 가장 중요한 명령어 ====
**Git을 사용할 때 가장 자주 사용하는 명령어입니다!**
# 현재 상태 확인
git status
**결과 예시:**
On branch main
No commits yet
Untracked files:
(use "git add ..." to include in what will be committed)
README.md
nothing added to commit but untracked files present (use "git add" to track)
**💡 이 메시지가 의미하는 것:**
- ''On branch main'': 현재 main 브랜치에 있습니다
- ''No commits yet'': 아직 저장(커밋)한 적이 없습니다
- ''Untracked files'': Git이 아직 관리하지 않는 파일들이 있습니다
- ''README.md'': 새로 만든 파일이 있습니다
===== 📝 파일 추가하기 - Git에게 "이 파일을 관리해줘" 말하기 =====
==== git add - 파일을 준비 구역에 올리기 ====
**Git에서 파일을 저장하는 과정은 2단계입니다:**
- **준비 구역(Staging Area)에 올리기** ← 지금 하는 단계
- **실제로 저장하기(Commit)** ← 다음 단계
# 특정 파일 추가
git add README.md
# 상태 확인 (항상 확인하는 습관을 기르세요!)
git status
**결과 예시:**
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached ..." to unstage)
new file: README.md
**💡 이제 무엇이 바뀌었나요?**
- ''Changes to be committed'': 저장할 준비가 된 변경사항이 있습니다
- ''new file: README.md'': README.md 파일이 새로 추가될 예정입니다
==== 여러 파일 한 번에 추가하기 ====
# 모든 파일 추가 (주의: 정말 모든 파일이 추가됩니다)
git add .
# 특정 확장자 파일들만 추가
git add *.txt
# 여러 파일 개별 추가
git add file1.txt file2.txt file3.txt
**⚠️ 주의사항:**
- ''git add .''은 모든 파일을 추가합니다 (비밀번호 파일이나 임시 파일도 포함!)
- 처음에는 ''git add 파일명''으로 하나씩 추가하는 것을 추천합니다
===== 💾 저장하기 - 내 작업을 기록으로 남기기 =====
==== `git commit` - 실제로 저장하기 ====
**이제 준비 구역에 있는 변경사항을 실제로 저장해봅시다!**
# 메시지와 함께 저장하기
git commit -m "첫 번째 커밋: README 파일 추가"
# 성공하면 이런 메시지가 나옵니다:
# [main (root-commit) a1b2c3d] 첫 번째 커밋: README 파일 추가
# 1 file changed, 2 insertions(+)
# create mode 100644 README.md
**💡 좋은 커밋 메시지 작성 팁:**
- **한국어로 써도 괜찮습니다**: "로그인 기능 추가", "버그 수정"
- **무엇을 했는지 명확히**: "버튼 색상 변경" (O) vs "수정" (X)
- **현재형으로 작성**: "추가한다", "수정한다"
- **50자 이내로 간결하게**
==== 커밋 메시지 예시 ====
# 좋은 예시들
git commit -m "로그인 페이지 UI 개선"
git commit -m "사용자 인증 버그 수정"
git commit -m "README 파일에 설치 방법 추가"
git commit -m "메인 페이지 반응형 디자인 적용"
# 피해야 할 예시들
git commit -m "수정" # 너무 모호함
git commit -m "ㅇㅇㅇ" # 의미 없음
git commit -m "asdf" # 의미 없음
===== 📜 히스토리 보기 - 내가 지금까지 뭘 했는지 확인하기 =====
==== `git log` - 커밋 기록 보기 ====
# 기본 로그 보기
git log
# 한 줄로 간단히 보기 (추천!)
git log --oneline
# 그래프로 보기 (브랜치가 있을 때 유용)
git log --oneline --graph
# 최근 5개만 보기
git log --oneline -5
**결과 예시:**
a1b2c3d (HEAD -> main) 첫 번째 커밋: README 파일 추가
**💡 로그에서 보는 정보:**
- ''a1b2c3d'': 커밋 ID (각 커밋의 고유 번호)
- ''(HEAD -> main)'': 현재 위치와 브랜치 정보
- ''첫 번째 커밋: README 파일 추가'': 커밋 메시지
===== 🔄 일반적인 작업 흐름 - 매일 하게 될 작업들 =====
==== 기본 워크플로우 ====
**이 순서를 기억하세요! 매일 반복하게 될 패턴입니다.**
# 1. 현재 상태 확인 (습관적으로 하세요!)
git status
# 2. 파일 수정하기 (에디터에서 코드 작성)
# ... 여기서 파일을 수정합니다 ...
# 3. 다시 상태 확인
git status
# 4. 변경된 파일 추가
git add 파일명
# 5. 또 다시 상태 확인 (정말 중요해요!)
git status
# 6. 커밋하기
git commit -m "의미있는 메시지"
# 7. 로그 확인
git log --oneline
==== 실제 예제 - 웹사이트 만들기 ====
**실제로 간단한 웹사이트를 만들면서 Git을 사용해봅시다:**
# 1. HTML 파일 만들기
echo "
내 첫 웹사이트
안녕하세요!
이것은 제 첫 번째 웹사이트입니다.
" > index.html
# 2. 상태 확인
git status
# 3. 파일 추가
git add index.html
# 4. 커밋
git commit -m "메인 페이지 HTML 파일 추가"
# 5. CSS 파일 만들기
echo "body {
font-family: Arial, sans-serif;
background-color: #f0f0f0;
margin: 0;
padding: 20px;
}
h1 {
color: #333;
text-align: center;
}" > style.css
# 6. 상태 확인
git status
# 7. CSS 파일 추가하고 커밋
git add style.css
git commit -m "기본 스타일 CSS 추가"
# 8. 지금까지의 작업 확인
git log --oneline
===== 🔍 변경사항 확인하기 - 무엇이 바뀌었나요? =====
==== `git diff` - 변경사항 자세히 보기 ====
# 아직 add하지 않은 변경사항 보기
git diff
# 이미 add한 변경사항 보기
git diff --staged
# 특정 파일의 변경사항만 보기
git diff 파일명
**결과 예시:**
diff --git a/README.md b/README.md
index 1234567..abcdefg 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,3 @@
# 내 첫 번째 프로젝트
안녕하세요! 이것은 제가 만든 첫 번째 Git 프로젝트입니다.
+이 줄이 새로 추가되었습니다.
**💡 diff 읽는 방법:**
- `---`: 이전 버전
- `+++`: 현재 버전
- `-`: 삭제된 줄 (빨간색으로 표시)
- `+`: 추가된 줄 (초록색으로 표시)
===== 🗑️ 변경사항 되돌리기 - 실수했을 때 =====
==== 아직 add하지 않은 변경사항 되돌리기 ====
# 특정 파일의 변경사항 되돌리기
git checkout -- 파일명
# 모든 변경사항 되돌리기 (주의!)
git checkout -- .
==== add한 것을 취소하기 ====
# 특정 파일을 준비 구역에서 제거
git reset HEAD 파일명
# 모든 파일을 준비 구역에서 제거
git reset HEAD
**⚠️ 주의사항:**
- 이 명령어들은 변경사항을 완전히 삭제합니다
- 중요한 작업은 미리 백업해두세요
- 처음에는 조심스럽게 사용하세요
===== 💡 초보자를 위한 팁과 주의사항 =====
==== 🎯 좋은 습관들 ====
**1. 자주 상태 확인하기**
# 명령어 실행 전후로 항상 확인
git status
**2. 작은 단위로 커밋하기**
- 큰 기능을 한 번에 커밋하지 말고, 작은 단위로 나누어 커밋
- 예: "로그인 기능 완성" 대신 "로그인 UI 추가", "로그인 검증 로직 추가"
**3. 의미있는 커밋 메시지 작성하기**
- 나중에 내가 봐도 이해할 수 있도록
- 팀원들이 봐도 이해할 수 있도록
==== ⚠️ 피해야 할 실수들 ====
**1. 비밀번호나 개인정보 커밋하지 않기**
# 이런 파일들은 절대 add하지 마세요!
# - config.json (비밀번호 포함)
# - .env (환경 변수)
# - 개인 정보가 담긴 파일들
**2. 너무 많은 파일을 한 번에 add하지 않기**
# 처음에는 이렇게 하지 마세요
git add . # 모든 파일 추가 (위험!)
# 대신 이렇게 하세요
git add 파일명 # 하나씩 확인하며 추가
**3. 커밋 메시지 대충 쓰지 않기**
# 나쁜 예
git commit -m "수정"
git commit -m "ㅇㅇ"
# 좋은 예
git commit -m "로그인 버튼 색상 변경"
git commit -m "사용자 입력 검증 로직 추가"
===== 🚀 다음 단계 =====
**기본 명령어를 익혔다면 이제 다음 단계로 넘어가세요:**
- **[[wiki:it:github:remote_operations|GitHub와 연동하기]]** - 내 코드를 인터넷에 올리기
- **[[wiki:it:github:branch_management|브랜치 사용하기]]** - 여러 기능을 동시에 개발하기
- **[[wiki:it:github:troubleshooting|문제 해결하기]]** - 막혔을 때 해결 방법
===== 🔗 관련 용어 =====
**더 자세한 설명이 필요하시면 용어집을 확인하세요:**
- [[wiki:glossary:development_tools:git:git|Git]] - Git이 무엇인지 자세한 설명
- [[wiki:glossary:development_tools:git:repository|Repository]] - 저장소 개념
- [[wiki:glossary:development_tools:git:commit|Commit]] - 커밋이 무엇인지
- [[wiki:glossary:development_tools:git:github|GitHub]] - GitHub 소개
===== 📚 연습 문제 =====
**직접 해보면서 실력을 키워보세요:**
**연습 1: 간단한 프로젝트 만들기**
- 새 폴더를 만들고 Git 저장소로 초기화하기
- 간단한 텍스트 파일 만들기
- 파일을 add하고 commit하기
- 파일 내용 수정하기
- 변경사항을 다시 commit하기
**연습 2: 웹사이트 프로젝트**
- HTML 파일 만들어서 커밋하기
- CSS 파일 만들어서 커밋하기
- JavaScript 파일 만들어서 커밋하기
- 각 단계마다 ''git status''와 ''git log'' 확인하기
**연습 3: 실수 복구하기**
- 파일 내용을 잘못 수정하기
- ''git diff''로 변경사항 확인하기
- ''git checkout --''로 변경사항 되돌리기
===== 🎓 마무리 =====
**축하합니다! 🎉 이제 Git의 기본 명령어를 모두 배우셨습니다.**
**여러분이 배운 것들:**
- ✅ Git 설치하고 설정하기
- ✅ 저장소 만들기 (`git init`)
- ✅ 파일 추가하기 (`git add`)
- ✅ 변경사항 저장하기 (`git commit`)
- ✅ 상태 확인하기 (`git status`)
- ✅ 히스토리 보기 (`git log`)
- ✅ 변경사항 확인하기 (`git diff`)
- ✅ 실수 되돌리기
**다음 단계로 넘어가기 전에:**
- 위의 명령어들을 직접 여러 번 사용해보세요
- 실제 프로젝트에 적용해보세요
- 궁금한 점이 있으면 [[wiki:it:github:troubleshooting|문제 해결 가이드]]를 확인하세요
**이제 GitHub와 연동하여 내 코드를 세상과 공유해보세요!** 🌟
----
**이전:** [[wiki:it:github:start|🏠 GitHub 가이드 홈]] | **다음:** [[wiki:it:github:remote_operations|🌐 GitHub와 연동하기]] | **목록:** [[wiki:it:github:start|📋 전체 문서 목록]]