티스토리 뷰

🐣 GitHub란 무엇인가요?

GitHub는 **소스코드 버전 관리 시스템(Git)**을 기반으로 한 온라인 저장소(Repository) 서비스입니다.
전 세계 개발자들이 함께 협업하고, 오픈소스를 공유하며, 프로젝트를 관리하는 데 활용되고 있어요.

간단하게 말하면,

“코드 저장소 + 협업 도구 + 버전 관리 기능”을 제공하는 클라우드 플랫폼

이라고 생각하시면 됩니다.

💡 Git과 GitHub의 차이점

Git GitHub

로컬에서 사용하는 버전 관리 도구 클라우드 기반 Git 저장소 플랫폼
명령어 기반으로 사용 웹 UI와 CLI 모두 지원
네트워크 없이도 사용 가능 인터넷 연결 필요
오픈소스 GitHub는 Git을 활용한 서비스

🛠️ Git 설치 및 GitHub 기본 설정

1. Git 설치

  • 공식 사이트 접속: https://git-scm.com/
  • 운영체제에 맞게 설치 (Windows, macOS, Linux 모두 지원)

2. Git 사용자 정보 설정

설치가 완료되면 터미널(명령 프롬프트)을 열어 아래처럼 사용자 정보를 등록해줍니다.

git config --global user.name "사용자이름"
git config --global user.email "이메일주소"

👉 이 설정은 GitHub와 연동 시 커밋 작성자의 정보를 표시하는 데 사용됩니다.


📁 GitHub 저장소 만들기

  1. https://github.com에 접속해서 회원가입
  2. 로그인 후 오른쪽 상단 + 버튼 → New repository 클릭
  3. 저장소 이름, 설명 입력
  4. Initialize this repository with a README 체크 (선택)
  5. Create repository 클릭

이제 온라인 저장소가 생성되었어요!


💻 로컬 저장소와 GitHub 연결하기

  1. 로컬 폴더를 생성하고 Git 초기화
mkdir my-project
cd my-project
git init
  1. GitHub 저장소 연결
git remote add origin https://github.com/계정명/저장소이름.git

🔧 Git 기본 명령어 정리

📌 파일 추적 및 커밋

명령어 설명

git status 변경사항 확인
git add 파일명 스테이징 (commit 대상 지정)
git commit -m "메시지" 커밋 저장 (버전 기록)
git log 커밋 히스토리 확인

📌 원격 저장소 연동

명령어 설명

git push origin main 로컬 → GitHub 업로드
git pull origin main GitHub → 로컬로 최신화
git clone 저장소URL 저장소 복제 (내 컴퓨터로 가져오기)

🤝 GitHub 협업 기능

  • Fork: 다른 사람의 저장소를 내 계정으로 복사
  • Pull Request (PR): 수정한 내용을 원본 저장소에 반영 요청
  • Issues: 버그, 개선사항 등을 논의하는 공간

🔁 Git 핵심 명령어 개념 완전 정복

📝 1. git add

"작업한 파일을 커밋할 준비를 한다"

git add는 코드 변경사항을 **스테이징 영역(staging area)**에 올리는 역할을 합니다.
스테이징 영역에 올려야만 커밋할 수 있어요.

git add 파일명          # 특정 파일만 스테이징
git add .               # 현재 폴더 내 모든 변경 파일 스테이징

🔹 한마디로: “이 파일들 저장할 거야!” 라고 Git에게 알려주는 과정


💾 2. git commit

"스냅샷처럼 코드 상태를 저장한다"

commit은 스테이징된 파일들을 하나의 **버전(기록)**으로 저장하는 행위입니다.
각 커밋은 고유한 ID를 가지며, 변경 내역을 추적할 수 있게 해줍니다.

git commit -m "작업 내용 설명"

🔹 한마디로: “이 시점의 코드 상태를 저장해줘!”


📤 3. git push

"로컬 커밋을 원격 저장소(GitHub)로 전송한다"

로컬에서 작업하고 커밋한 내용을 GitHub에 반영할 때 사용하는 명령어입니다.
협업 시, 팀원들과 최신 커밋을 공유할 수 있게 돼요.

git push origin main   # main 브랜치에 push

🔹 한마디로: “내 컴퓨터에서 작업한 내용, GitHub로 올려줘!”


📥 4. git pull

"원격 저장소의 최신 변경사항을 내 컴퓨터로 가져온다"

협업 중이라면 다른 사람이 작업한 내용이 GitHub에 반영되었을 수 있어요.
그럴 때 pull 명령어로 최신 상태를 가져오고 병합합니다.

git pull origin main

🔹 한마디로: “GitHub에 있는 최신 코드 좀 가져와줘!”


⬇️ 5. git fetch

"원격 저장소의 변경 내역만 가져오고, 병합은 하지 않는다"

pull은 가져오면서 자동 병합까지 하지만, fetch는 가져오기만 하고 병합은 수동입니다.
변화를 비교하고 싶은 경우에 유용하게 사용됩니다.

git fetch origin

🔹 한마디로: “GitHub에 뭐가 바뀌었는지 확인만 해볼게!”


📦 6. git clone

"GitHub에 있는 저장소를 통째로 복사해온다"

처음부터 GitHub에 올라간 프로젝트를 내 컴퓨터로 가져올 때 사용해요.
단순히 파일 복사만이 아니라, 버전 이력까지 그대로 복사됩니다.

git clone 저장소주소

🔹 한마디로: “이 프로젝트, 내 컴퓨터에 통째로 복사해줘!”


🧭 핵심 개념 요약 테이블

명령어 역할

git add 변경한 파일을 스테이징 영역에 추가
git commit 스테이징된 파일을 하나의 버전으로 저장
git push 로컬의 커밋을 원격 저장소(GitHub)로 업로드
git pull 원격 저장소에서 최신 변경 사항을 가져와 병합
git fetch 원격 저장소에서 변경 사항을 가져오기만 (병합 X)
git clone GitHub 저장소를 통째로 복제 (처음 시작 시 사용)