Git은 파일의 변경 내용을 추적하고 협업을 쉽게 하는 버전 관리 시스템임
개발자가 코드를 안전하게 관리하고 이전 상태로 되돌릴 수 있도록 도와줌
나는 svn만 10년 넘게 사용해서 git이 서툴기 때문에 정리해놓기로 함
1️⃣ Git 기본 개념
Git에서 가장 중요한 개념 3가지!
개념 | 설명 |
Repository (저장소) | 프로젝트를 저장하는 공간 (파일과 변경 내역을 저장) |
Commit (커밋) | 변경된 내용을 기록하는 스냅샷 (변경 사항을 저장) |
Branch (브랜치) | 독립적으로 작업할 수 있는 분리된 공간 |
2️⃣ Git 기본 설정
처음 Git을 설치하고 사용하려면 사용자 정보를 설정해야 함
git config --global user.name "사용자이름"
git config --global user.email "이메일주소"
👉 이렇게 하면 모든 Git 저장소에 이 정보가 적용됨!
현재 설정을 확인하려면?
git config --list
3️⃣ Git 저장소 만들기
Git을 사용하려면 먼저 저장소(Repository)를 만들어야 함
🅰️ 기존 폴더에서 Git 저장소 만들기
git init
📌 실행하면 .git 폴더가 생성되고, 이 폴더가 변경 내역을 관리함!
🅱️ GitHub에서 저장소 복사하기 (Clone)
GitHub에서 프로젝트를 가져오려면:
git clone <저장소_주소>
예제:
git clone https://github.com/user/repository.git
👉 현재 폴더에 repository라는 폴더가 생성되고, 그 안에 파일이 다운로드됨!
4️⃣ Git 기본 명령어
Git을 사용할 때 자주 쓰는 명령어들입니다.
1. 현재 상태 확인하기
git status
👉 현재 작업 디렉토리의 상태를 확인
👉 어떤 파일이 변경되었는지, 어떤 파일이 커밋되지 않았는지 확인 가능
2. 변경된 파일 저장하기 (Commit)
Git에서 파일을 저장하려면 "Staging Area" → Commit" 순서로 진행해야 합니다.
(1) 변경된 파일 추가하기 (Staging)
git add 파일명
📌 모든 변경된 파일을 추가하려면:
git add .
👉 . 은 현재 폴더의 모든 변경 사항을 추가한다는 의미
(2) 변경 사항 저장하기 (Commit)
git commit -m "커밋 메시지"
📌 "커밋 메시지"에는 변경 사항에 대한 설명을 작성
예제:
git commit -m "회원 가입 기능 추가"
3. 변경 내역 보기
git log
📌 커밋 히스토리를 확인할 수 있음
간단한 로그를 보고 싶다면:
git log --oneline
📌 한 줄로 요약된 커밋 내역 확인 가능
4. 원격 저장소에 코드 올리기 (Push)
로컬에서 작업한 내용을 GitHub 등의 원격 저장소에 올릴 때 사용
git push origin 브랜치이름
예제:
git push origin main
📌 main 브랜치에 변경 사항을 푸시
👉 최초 push라면, 원격 브랜치를 연결해야 할 수도 있음
git push --set-upstream origin main
5. 원격 저장소에서 코드 가져오기
(1) 최신 코드 가져오기 (Pull)
git pull origin 브랜치이름
📌 원격 저장소의 변경 사항을 가져와 현재 브랜치에 반영
(2) 최신 코드만 다운로드 (Fetch)
git fetch origin
📌 최신 변경 사항을 다운로드하지만, 자동으로 병합되지 않음
📌 이후 git merge를 사용하여 병합 가능
5️⃣ 브랜치 (Branch) 사용법
Git에서는 여러 개발자가 동시에 작업할 수 있도록 브랜치(Branch) 기능을 제공함!
1. 새로운 브랜치 만들기
git branch 새브랜치이름
📌 현재 브랜치에서 새 브랜치를 생성하지만, 이동하지 않음
2. 브랜치 이동하기
git checkout 브랜치이름
또는 최신 방식 (switch 사용)
git switch 브랜치이름
📌 해당 브랜치로 이동하여 작업 가능
3. 브랜치 만들면서 바로 이동
git checkout -b 새브랜치이름
또는 최신 방식
git switch -c 새브랜치이름
📌 새로운 브랜치를 만들고 바로 이동
4. 브랜치 목록 확인
git branch
📌 현재 저장소의 모든 브랜치를 확인
5. 브랜치 병합 (Merge)
새로운 기능을 추가한 브랜치를 main 브랜치에 합칠 때 사용
git checkout main # 메인 브랜치로 이동
git merge 기능브랜치
📌 기능브랜치의 내용을 main 브랜치에 병합
6. 브랜치 삭제
git branch -d 브랜치이름
📌 병합된 브랜치를 삭제
📌 병합되지 않은 브랜치를 강제로 삭제하려면:
git branch -D 브랜치이름
6️⃣ 실수했을 때 되돌리기
작업하다가 실수했을 때 복구하는 방법!
1. 마지막 커밋 메시지만 수정하기
git commit --amend -m "새로운 메시지"
📌 이전 커밋을 수정 가능
2. 특정 파일의 변경 사항 취소
git checkout -- 파일명
📌 특정 파일을 마지막 커밋 상태로 되돌림
3. 마지막 커밋 되돌리기
git reset --soft HEAD~1
📌 마지막 커밋을 취소하지만, 변경 사항은 그대로 유지됨
4. 특정 커밋으로 되돌리기
git reset --hard 커밋ID
📌 해당 커밋 이후의 모든 변경 사항을 삭제하고 되돌림
⚠️ 주의: --hard 옵션을 사용하면 데이터가 날아갈 수 있음!
5. GitHub에 푸시한 커밋을 취소하기
git reset --hard 이전커밋ID
git push --force
📌 로컬에서 되돌린 후 강제 푸시
🎯 결론: Git은 이렇게 쓰자!
1️⃣ git init → 저장소 생성
2️⃣ git add . → 변경된 파일 스테이징
3️⃣ git commit -m "메시지" → 변경 사항 저장
4️⃣ git push origin main → GitHub에 코드 올리기
5️⃣ git pull origin main → 최신 코드 가져오기
6️⃣ git branch 새브랜치 → 새로운 작업 시작
7️⃣ git merge 브랜치이름 → 작업 완료 후 병합
그리고 초반 명령어 연습을 할 수 있는 쩌는 사이트가 있어서 추천