초보자를 위한 Git Bash와 GitHub 소개
Source: Dev.to
Git이란?
Git은 코드(또는 모든 파일)의 변화를 시간에 따라 추적하는 무료 오픈‑소스 version control system입니다. 개발자는 다음을 할 수 있습니다:
- 어떤 규모의 프로젝트든 작업할 수 있습니다
- 필요할 경우 이전 버전으로 되돌릴 수 있습니다
- 브랜치를 사용해 안전하게 실험할 수 있습니다
- 서로의 작업을 덮어쓰지 않고 협업할 수 있습니다
Git Bash란?
Bash는 Linux와 macOS에서 기본 명령줄 셸입니다.
Git Bash는 Bash와 유사하고 Unix 스타일의 터미널 환경을 제공하는 가벼운 Windows 애플리케이션으로, 모든 Git 명령을 포함합니다. Windows 사용자가 익숙한 셸에서 Git 및 다양한 Unix 명령을 원활하게 실행할 수 있게 해줍니다.
Git Bash는 컴퓨터에 로컬로 설치됩니다.

GitHub란?
GitHub은 Git을 기반으로 한 클라우드‑호스팅 플랫폼입니다. 이를 통해 할 수 있는 일:
- Git 저장소를 온라인에 보관
- 코드를 다른 사람과 공유
- 팀으로 협업
- 풀 리퀘스트를 통한 변경 사항 검토
- 오픈‑소스 프로젝트 탐색

Git Bash 설치 (Windows)
- 공식 Git 웹사이트로 이동합니다.
- Windows 설치 프로그램을 다운로드합니다 (Git Bash가 포함되어 있습니다).
- 다운로드한
.exe파일을 실행하고 설치 마법사를 따라 진행합니다.- 대부분의 옵션은 기본값을 그대로 사용합니다 (초보자에게 적합합니다).
- 원하는 텍스트 편집기를 선택합니다 (예: Notepad++, VS Code).
- 교차 플랫폼 호환성을 위해 줄 끝 변환을 활성화된 상태로 유지합니다.
- 설치를 완료합니다.
설치 확인
Git Bash를 엽니다 (시작 메뉴에서 “Git Bash”를 검색) 그리고 실행합니다:
git --version
git version 2.xx.x.windows.x와 같은 버전 정보를 확인할 수 있습니다.
초기 Git 설정
이름과 이메일을 설정합니다 (커밋에 표시됩니다):
git config --global user.name "Your Full Name"
git config --global user.email "your.email@example.com"
GitHub 계정에 사용 중인 이메일과 동일하게 입력합니다.
Git Bash를 GitHub 계정에 연결하기 (SSH 사용)
SSH 키는 코드를 푸시/풀할 때 비밀번호 없이 안전한 인증을 제공합니다.
-
새 SSH 키 생성 (Git Bash에서)
ssh-keygen -t ed25519 -C "your.email@example.com"- 기본 파일 위치(
~/.ssh/id_ed25519)를 사용하려면 Enter 키를 누르세요. - 선택적으로 암호 구문을 설정하세요(추가 보안을 위해 권장).
- 기본 파일 위치(
-
SSH 에이전트 시작 및 키 추가:
eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519 -
공개 키를 클립보드에 복사:
cat ~/.ssh/id_ed25519.pub(
ssh-ed25519 …로 시작하는 출력 결과를 선택해 복사합니다.) -
키를 GitHub에 추가
- GitHub에 로그인 → 프로필 사진 클릭 → Settings → SSH and GPG keys → New SSH key.
- 제목을 입력합니다(예: “My Windows PC”).
- 키를 붙여넣고 Add SSH key를 클릭합니다.
-
연결 테스트
ssh -T git@github.com다음과 같은 메시지가 표시됩니다:
Hi <username>! You've successfully authenticated…
Pulling and Pushing Code
git pull
원격 저장소(예: GitHub)에서 변경 사항을 가져와 현재 브랜치에 병합합니다.
git pull origin main
(git pull = git fetch + git merge)
Tip: 충돌을 방지하려면 작업을 시작하기 전에 항상 풀(pull)하세요.
git push
로컬 커밋을 원격 저장소에 업로드합니다.
git push origin main
origin– GitHub 원격 저장소의 기본 이름.main– 기본 브랜치 이름(일부 오래된 저장소는master를 사용합니다).
새 저장소에 처음 푸시하는 경우, 업스트림 브랜치를 설정합니다:
git push -u origin main

변경 사항 추적 – 핵심 워크플로우
git status
변경된 내용, 스테이징된 내용, 또는 추적되지 않은 파일을 보여줍니다.
git add
변경 사항을 스테이징합니다 (커밋을 위해 준비합니다).
- 단일 파일을 스테이징:
git add filename.txt - 전체를 스테이징:
git add .또는git add -A
git commit
스테이징된 변경 사항을 메시지와 함께 영구적으로 저장합니다.
git commit -m "Add new feature: user login page"
좋은 커밋 메시지는 짧고, 설명적이며, 현재 시제로 작성됩니다 (예: “Fix bug in login form”).
Typical workflow
git status # Check what’s changed
# …edit files…
git add . # Stage everything
git commit -m "Your message here"
git pull origin main # Get latest changes first!
git push origin main # Send your work to GitHub
버전 관리란 무엇이며 왜 중요한가
버전 관리는 파일에 대한 모든 변경 사항을 시간 순으로 기록하여 나중에 특정 버전을 다시 불러올 수 있게 합니다.
주요 장점
- 누가 무엇을 왜 변경했는지에 대한 전체 히스토리.
- 브랜치와 병합 – 기능이나 버그 수정을 격리된 상태에서 작업한 뒤 안전하게 합칠 수 있습니다.
- 문제가 발생했을 때 손쉽게 롤백.
- 협업 – 여러 사람이 같은 프로젝트에서 혼란 없이 작업할 수 있습니다.
- 백업 – 코드가 GitHub에 안전하게 보관됩니다.
이 기본 개념을 마스터하면 저장소를 만들고, 프로젝트를 복제하고, 브랜치를 생성하며, 오픈 소스에 기여할 준비가 된 것입니다!
행복한 코딩!
GitHub에 간단한 저장소를 만들고 “Hello World” 파일을 푸시해 보면서 연습해 보세요.