궁극적인 매뉴얼: Git과 GitHub를 두통 없이 이해하기
Source: Dev.to

The concept: Git vs. GitHub
당신이 대규모 프로젝트를 진행하고 있다고 상상해 보세요. 코드를 여러 시간 동안 작성했지만, 10분 전에 적용한 “수정” 때문에 모든 것이 깨져 버렸습니다. 되돌리기 버튼을 계속 눌러도 충분하지 않으며, 작업이 사라지고 말았습니다.
바로 **버전 관리**가 필요한 순간입니다. 이 글은 초보 개발자들이 Git(로컬 도구)과 GitHub(클라우드 플랫폼) 사이의 차이를 이해하도록 돕습니다.
차이점은 무엇인가요?
- Git – 컴퓨터에 설치되어 파일 변경 사항을 추적하는 로컬 버전 관리 시스템.
- GitHub – 온라인에 Git 저장소를 호스팅하는 클라우드 플랫폼으로, 협업을 쉽게 해줍니다.
Git + GitHub 사용의 장점
- 안전성
- 추적 가능성 및 책임성
- 높은 신뢰도의 실험 환경
- 협업
- 원격 백업
환경 설정 (Git Bash)
-
Git 설치 – 공식 사이트의 안내를 따르세요: .
-
신원 구성 – Git에게 누가 변경했는지 알릴 수 있습니다.
git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"
환경 설정 (GitHub)
-
GitHub 계정을 만들고 로그인합니다: .
-
SSH 키 생성 (비밀번호 없이, 보안 연결).
ssh-keygen -t ed25519 -C "youremail@example.com"“Enter a file to save the key”(키를 저장할 파일 입력) 프롬프트가 나오면 기본 위치를 사용하려면 Enter 키만 누르세요.
-
기존 SSH 키 확인 (선택 사항):
cat ~/.ssh/id_ed25519.pub
GitHub 계정에 공개 키 추가
-
공개 키 복사하기
cat ~/.ssh/id_ed25519.pub -
GitHub에 키 추가하기
- Settings → SSH and GPG keys → New SSH key 로 이동합니다.
- 키에 설명적인 제목을 지정합니다.
- 복사한 공개 키를 Key 필드에 붙여넣습니다.
- Add key 를 클릭합니다.
-
연결 테스트하기
ssh -T git@github.com인증이 성공했음을 확인하는 메시지가 표시됩니다.
Source:
푸시와 풀 명령
Git은 자동으로 모든 것을 저장하지 않으며, 의도적으로 작업해야 합니다—마치 사진을 찍는 것과 같습니다.
-
작업 디렉터리 (the set) – 현재 편집 중인 파일들.
-
스테이징 영역 (the pose) – 저장할 준비가 된 변경 사항. 다음 명령으로 추가합니다:
git add # 파일 지정 # 모든 파일을 추가하려면: git add . -
리포지토리 (the photo) – 스테이징된 변경을 커밋합니다:
git commit -m "Your descriptive commit message" -
푸시 – 로컬 커밋을 GitHub의 원격 리포지토리로 전송합니다:
git push origin main # 브랜치 이름이 다르면 'main'을 해당 브랜치명으로 바꾸세요 -
풀 – 원격 리포지토리에서 변경을 가져와 병합합니다:
git pull origin main
요약
Git을 마스터하려면 코드가 거치는 과정을 이해하세요:
- 작업 디렉터리에서 편집합니다.
- 원하는 변경을 스테이징합니다.
- 커밋하여 영구 스냅샷을 만듭니다.
- 푸시하여 GitHub에 작업을 공유합니다.
- 풀하여 다른 사람의 기여를 통합합니다.
이 기본 개념만 익히면 자신 있게 협업하고 코드를 안전하게 관리할 수 있습니다. 즐거운 코딩 되세요!
# Git Basics Cheat‑Sheet
Git의 세 영역
- Working Directory – 편집하고 있는 파일들.
- Staging Area – 저장하도록 표시한 파일들.
- Repository – 프로젝트의 영구적인 히스토리.
GitHub에 코드 푸시하기
Pushing은 로컬 커밋을 원격 서버에 업로드하는 행위입니다.
코드를 다른 사람들과 공유하고 백업 역할을 합니다.
git push origin main
GitHub에서 코드 가져오기
Pulling은 다른 사람들이 업로드한 최신 변경 사항을 다운로드하여 로컬 복사본을 온라인의 마스터 복사본과 동기화합니다.
git pull
빠른 참고 흐름
| 동작 | 명령 | 설명 |
|---|---|---|
| 인덱스에 변경 사항 추가 | git add <file> | 다음 커밋을 위해 파일을 스테이징 |
| 스냅샷 기록 | git commit -m "msg" | 스테이징된 변경 사항을 로컬 기록에 저장 |
| 로컬 커밋을 원격에 푸시 | git push | 로컬 기록을 GitHub에 업로드 |
| 원격 변경 사항 가져오기 | git pull | 원격 변경 사항을 다운로드하고 병합 |
시각적 개요
“빅 파이브” Git 명령과 현실 세계 비유
| Command | Action | Real‑World Analogy |
|---|---|---|
git init | 새로운 저장소를 초기화합니다 | 새 파일 캐비닛을 설치하는 것 |
git add | 변경 사항을 스테이징합니다 | 편지를 봉투에 넣는 것 |
git commit -m "msg" | 스테이징된 변경 사항을 기록합니다 | 편지를 우편함에 넣는 것 |
git pull | GitHub에서 변경 사항을 가져옵니다 | 우편함을 확인하여 최신 메일을 확인하는 것 |
git push | 로컬 커밋을 GitHub에 보냅니다 | 편지를 우체국에 배달하는 것 |
첫 번째 저장소
-
터미널을 열고 프로젝트 폴더로 이동합니다.
-
새 저장소를 초기화합니다:
git init -
코드를 작성한 후 **“저장 의식”**을 따릅니다:
git add . git commit -m "Initial commit" git push origin main # GitHub에 원격 저장소를 만든 후
노트북에 코드를 저장하는 것도 좋지만, GitHub에 푸시하면 다음과 같은 이점이 있습니다:
- 하드웨어 고장에 대한 보호.
- 다른 사람과 공유할 수 있는 작업물 전시.
결론
Git과 GitHub를 배우는 것은 프로그래밍 언어 위에 또 다른 언어를 배우는 느낌일 수 있지만, 모든 개발자에게 필수적인 스킬입니다. 추적 → 커밋 → 푸시 → 풀의 사이클을 마스터하면 단순히 파일을 저장하는 것이 아니라, 전문적인 포트폴리오와 자신감을 주는 안전망을 구축하는 것입니다.
명령어를 찾아봐야 한다고 당황하지 마세요(전문가도 마찬가지입니다). 연습이 완벽을 만들며, 명령어를 많이 사용할수록 자연스럽게 익숙해집니다.
조언: 바로 저장소를 만들고, 실수를 해보고, 이 “두통‑프리 매뉴얼”을 활용해 보세요.
GitHub에 처음으로 “푸시”한 것은 무엇인가요? 댓글로 알려주세요!


