Git 및 Github 초보자 가이드
Source: Dev.to
Git 및 GitHub 정의
이 두 용어는 처음 보는 사람에게는 익숙하게 들릴 수 있지만, 동일하지 않습니다.
- Git – 파일의 변경 사항을 추적하고 버전 기록을 로컬에서 관리하는 무료 오픈‑소스 도구입니다.
- GitHub – 저장소 호스팅, 팀 협업 및 프로젝트‑관리 기능을 제공하는 웹‑기반 플랫폼입니다.
요약: Git을 사용하기 위해 GitHub가 필요하지는 않지만, GitHub를 이용하려면 Git이 필요합니다.
Git을 GitHub 계정에 연결하기
Git 설치 – 공식 Git 웹사이트에서 다운로드합니다.
GitHub 계정 만들기 – 아직 계정이 없으면 생성합니다.
Git을 내 자격 증명으로 설정 – 터미널(또는 명령 프롬프트)을 열고 다음을 실행합니다:
git config --global user.name "Your Name" git config --global user.email "you@example.com"이 값들은 당신이 만드는 모든 커밋에 첨부됩니다.

GitHub에 저장소 만들기 – GitHub.com에 로그인하고 오른쪽 상단의 + 아이콘을 클릭한 뒤 New repository를 선택합니다.
저장소 이름을 정하고 Create repository를 클릭합니다.
인증 – Git으로 GitHub 저장소에 푸시할 때는 HTTPS 또는 SSH 중 하나로 인증해야 합니다:
- HTTPS (대부분 사용자에게 권장) – 자격 증명 도우미를 사용해 인증 정보를 캐시할 수 있습니다.
- SSH – 사용하는 각 컴퓨터에서 SSH 키 쌍을 생성하고 공개 키를 GitHub 계정에 추가합니다.
이제 Git과 GitHub이 설정되어 프로젝트를 백업으로 저장하고 전 세계에 작업을 공유할 수 있습니다.
Git이란 무엇이며 버전 관리가 왜 중요한가?
- Git은 무료이며 오픈‑소스인 분산 버전‑관리 시스템입니다.
- **버전‑관리 시스템 (VCS)**은 파일(또는 파일 그룹)의 변경 사항을 추적하고 기록하여 필요할 때 이전 버전을 되돌릴 수 있게 합니다.
버전 관리를 통해 서로 다른 위치에 있는 사람들이 동일한 프로젝트에서 협업할 수 있습니다. Git을 사용하면 각 개발자가 로컬에서 작업하고, 변경 사항을 커밋한 뒤, 그 변경을 공유 저장소와 동기화하여 다른 사람들이 최신 버전을 확인할 수 있습니다.
버전 관리의 중요성
- Reversion – 상세한 추적을 통해 필요할 경우 이전 버전으로 쉽게 롤백할 수 있습니다.
- Attribution – 모든 변경 사항은 해당 변경을 수행한 팀원과 연결됩니다.
- Branching – 팀은 별도의 브랜치(기능, 버그‑수정, 실험)에서 작업하고 나중에 이를 병합할 수 있습니다.
- Concurrency – 여러 개발자가 동시에 작업할 수 있으며 Git이 충돌을 방지하는 데 도움을 줍니다.
- Organization & Communication – 커밋 메시지는 무엇이 변경되었고 왜 변경되었는지를 설명하여 프로젝트 명확성을 높입니다.
Git Push
git push 명령은 로컬 브랜치에서 만든 커밋을 원격 저장소(예: GitHub)로 전송합니다.
git push예시 워크플로우: 새 저장소 만들기 및 첫 커밋 푸시
GitHub에서 새 저장소 만들기
- + 아이콘을 클릭 → New repository.
- 저장소 이름, 설명을 입력하고 Public(무료)으로 설정합니다.

Git Bash(또는 선호하는 터미널)를 엽니다.
프로젝트 폴더로 이동합니다
cd /path/to/your/project pwd # prints the current directory (optional)Git 저장소 초기화
git init
파일을 저장소에 추가합니다
git add . git status # shows which files are staged스테이징된 파일을 커밋합니다
git commit -m "Add initial project files"커밋 메시지는 간결하게(≈50 characters) 작성하고 명령형으로 무엇이 바뀌었는지와 왜 바뀌었는지를 설명해야 합니다.

원격(GitHub) 저장소 추가
git remote add origin https://github.com/your‑username/your‑repo.git커밋을 GitHub에 푸시합니다
git push -u origin main # or whatever branch you are using
이제 코드는 GitHub에 저장되었으며 공유하거나 협업할 준비가 되었습니다.
원격 저장소 URL 복사 및 푸시
HTTPS URL은 원격 저장소를 호스팅하는 GitHub 페이지에서 복사합니다.
git push -u origin mainorigin– 원격 저장소의 기본 이름.-u(or--set-upstream) – 업스트림(추적) 브랜치를 설정합니다.main– 푸시하려는 브랜치.
GitHub 사용자 이름과 비밀번호(또는 개인 액세스 토큰)를 입력하라는 프롬프트가 표시됩니다.

GitHub에서 코드 가져오기
- GitHub Desktop은 이러한 작업을 위한 그래픽 인터페이스를 제공합니다.
- GitHub Desktop을 엽니다.
- File 메뉴 → **Clone repository…**를 클릭합니다 (첫 번째 사용 시) 또는 목록에서 기존 저장소를 선택합니다 (업데이트를 받기 위해).
- 복제하는 경우:
- GitHub 계정에서 저장소를 선택하거나 또는 URL을 붙여넣습니다.
- 로컬 경로를 선택합니다.
- Clone을 클릭합니다.
- 기존 저장소를 업데이트하는 경우:
- 상단 바에서 Fetch origin 또는 Pull origin을 클릭하여 로컬 브랜치를 원격과 동기화합니다.
Source:
Git을 사용한 파일 변경 사항 추적
Git으로 파일 변경 사항을 추적하면 업데이트를 기록하고 수정 내역을 명확히 유지함으로써 효과적인 버전 관리를 할 수 있습니다.
- 파일의 전체 버전 히스토리를 보관합니다.
- 시간에 따라 변경 사항을 검토하고 관리하는 데 도움이 됩니다.
파일의 커밋 히스토리 보기
리포지토리 현재 상태 확인 (히스토리를 보기 전에 좋은 습관).
git status이 명령은 추적되지 않은 파일, 수정된 파일, 스테이징된 파일을 표시합니다.
특정 파일의 변경 내역 보기.
git log -- <file>
특정 커밋에서 이루어진 변경 사항 보기.
git show <commit-hash>