Git와 GitHub: 초보자를 위한 가이드
Source: Dev.to

Git이란?
Git은 파일에 대한 모든 변경 사항을 추적하는 무료 오픈‑소스 버전‑컨트롤 시스템입니다. 프로젝트의 여러 버전을 보관할 수 있게 해주는 “저장 시스템”이라고 생각하면 됩니다.
버전 관리와 그 중요성
소스 제어 또는 리비전 제어라고도 하며, 파일(특히 코드)을 시간에 따라 추적하고 관리하는 시스템입니다.
왜 필수적인가?
- 안전망 – 실수를 했을 때 이전의 정상 작동 버전으로 빠르게 되돌릴 수 있습니다.
- 협업 – 여러 사람이 동시에 같은 파일을 작업할 수 있으며, 시스템이 수정 사항을 병합합니다.
- 추적 가능성 – 모든 변경 사항이 타임스탬프, 설명, 작성자와 함께 기록됩니다.
- 실험 – 브랜치를 만들어 메인 프로젝트에 영향을 주지 않고 새로운 기능을 테스트합니다. 브랜치가 성공하면 병합하고, 그렇지 않으면 폐기합니다.
GitHub에 코드 푸시하는 방법
단계 1 – 로컬 저장소 만들기
git init
푸시하려는 파일들의 상태를 확인합니다:
git status
아직 추적되지 않은 파일은 빨간색으로 표시됩니다.
모든 파일을 스테이징 영역에 추가합니다:
git add .
이제 파일이 스테이징 되었는지 확인합니다 (녹색으로 표시됩니다):
git status
로컬에서 변경 사항을 커밋합니다:
git commit -m "Project added"
단계 2 – 원격 GitHub 저장소 연결
GitHub에서 새 저장소를 만든 뒤 URL을 복사하고 다음을 실행합니다:
git remote add origin <repository‑URL>
단계 3 – 코드 푸시
git push origin master
아직 인증되지 않았다면 GitHub 계정에 로그인하라는 메시지가 표시됩니다.
아래는 GitHub에 표시되는 파일 예시입니다:
GitHub에서 코드 가져오기
단계 1 – 저장소 복제
GitHub에서 저장소로 이동하여 HTTPS(또는 SSH) 링크를 복사한 다음 실행합니다:
git clone <repository‑URL>
위의 모든 명령은 터미널(Git Bash, PowerShell, macOS Terminal 등)을 사용하고 있으며, Git이 이미 컴퓨터에 설치되어 있다고 가정합니다.
1단계 – 프로젝트 폴더 열기
cd Git-Assignment
2단계 – 새 브랜치 만들기
git checkout -b update-name
Step 3 – VS Code에서 저장소 열기
code .
변경 사항을 추가하고, 상태를 확인하세요:
git add .
git status
단계 4 – 변경 사항 커밋하기
git commit -m "Brief description of what is changed"
Step 5 – Push the Branch & Open a Pull Request
-
Push the new branch to GitHub
git push -u origin update-name -
Navigate to your repository on GitHub and open a Pull Request.
비주얼 가이드
프로젝트 폴더 열기
새 브랜치 만들기
VS Code에서 파일 편집
풀 리퀘스트 열기
Git으로 변경 사항 추적하기
Git은 세 가지 영역으로 작업합니다:
| 영역 | 설명 |
|---|---|
| Working directory | 로컬에서 편집하는 파일들. Git은 이를 인식하지만 아직 추적하고 있지는 않음. |
| Staging area | 다음 커밋에 포함시키기 위해 표시한 파일들. git add를 사용합니다. |
| Repository | 스테이징 영역에 있는 모든 것의 영구 스냅샷. git commit을 사용합니다. |
일반적인 명령 순서
# See what’s happening (red files are untracked or modified)
git status
# Stage changes
git add . # or `git add <file>` for specific files
# Record a snapshot
git commit -m "Brief description of what is changed"
핵심 요점
- **
git status**는 최고의 친구입니다. 모든 명령을 실행한 후에 실행하여 어떤 파일이 추적되고, 스테이징되었으며, 무시되는지 확인하세요. - **
git add**를 사용하여 작업 디렉터리의 변경 사항을 스테이징 영역으로 이동합니다. - **
git commit**을 사용하여 저장소에 영구적인 스냅샷을 만듭니다. - 기능이나 수정 작업을 위해 항상 새 브랜치를 만들고, 그 후 Pull Request를 열어 병합합니다.
