최종_보고서.hwp
진짜최종_보고서.hwp
진짜진짜최종_수정본_보고서.hwp
교수님께_보낼파일_최종.hwp
우리는 모두 파일의 버전을 관리하느라 고통받아 본 경험이 있다.
개발 프로젝트는 수십, 수백, 수만 개의 파일로 이루어져 있고, 수많은 사람이 동시에 작업한다.
위와 같은 방식으로 파일 버전을 관리하며 이메일로 파일을 주고받기엔 한계가 있다.
이때 사용하는 도구가 바로 Git과 GitHub이다.
가장 먼저 이 둘의 관계를 명확히 해야 한다.
Git은 '도구'이고, GitHub는 그 도구를 활용하는 '서비스'이다.
Git (소프트웨어): 버전 관리 '소프트웨어(도구)'
내 컴퓨터에 설치하여 코드의 변경 이력을 사진 찍듯이 저장하고, 언제든 과거로 돌아갈 수 있는 타임머신 역할을 한다.
인터넷 없이도 내 컴퓨터에서 모든 버전 관리가 가능하다.
GitHub (웹 서비스): Git으로 관리하는 프로젝트를 올려두는 '웹 호스팅 서비스'
Git이라는 도구만으로는 힘든 백업, 공유, 협업을 가능하게 해준다.
Git을 설치한 후, 커밋에 기록될 내 정보를 설정한다.
Git Bash를 설치하고 다음을 입력한다.
이때 복사와 붙여넣기는 ctrl + c ctrl + v 대신 ctrl + insert shift + insert로 사용한다.
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
1단계: 내 컴퓨터에서 Git 관리 시작
# 프로젝트 폴더를 만들고 이동
mkdir my-project
cd my-project
# 이 폴더를 Git으로 관리 시작!
git init
아니면 vscode에서 터미널 창에서 bash를 선택하거나 프로젝트 폴터에서 우클릭 후 이 경로에서 bash 실행하기를 통해 생략할 수 있다.
2단계: 코드 수정 및 로컬에 버전 저장 (add & commit)
# 변경된 모든 파일을 스테이징(장바구니에 담기)
git add .
# 장바구니에 담긴 내용을 하나의 버전으로 저장(커밋)
git commit -m "Initial commit: Add README.md"
3단계: GitHub 원격 저장소 생성 및 연결
GitHub에 로그인하여 New repository 버튼으로 새로운 저장소를 만든다.
생성된 저장소의 URL(예: https://github.com/YourName/my-project.git)을 복사한다.
내 컴퓨터 터미널에서 아래 명령어로 로컬 저장소와 원격 저장소를 연결한다.
# 원격 저장소 주소를 'origin'이라는 이름으로 추가
git remote add origin https://github.com/YourName/my-project.git
# 로컬의 main 브랜치를 원격 저장소(origin)로 업로드(push)
git push -u origin main
이제 my-project는 내 컴퓨터와 GitHub 양쪽에 모두 존재하며 서로 연결되었다.
팀 프로젝트에 참여할 때의 일반적인 작업 흐름이다.
1단계: 작업 시작 전, 항상 최신 코드로 동기화
다른 팀원이 수정했을지 모르는 최신 코드를 원격 저장소에서 내 컴퓨터로 가져온다.
git pull origin main
2단계: 나만의 작업 공간(브랜치) 만들기
main 브랜치를 직접 건드리지 않고, 새로운 기능을 개발하기 위한 독립된 브랜치를 만든다.
# 'feature/login' 이라는 브랜치를 만들고 그곳으로 이동
git checkout -b feature/login
3단계: 기능 개발 및 커밋
이제 feature/login 브랜치에서 마음껏 코드를 수정하고, add와 commit으로 작업 단위를 저장한다.
# (열심히 코딩...)
git add .
git commit -m "Feat: Implement user login logic"
4단계: 내 브랜치를 원격 저장소에 업로드
내가 만든 feature/login 브랜치를 팀원들이 볼 수 있도록 GitHub에 올린다.
git push origin feature/login
5단계: Pull Request(PR) 생성
가장 중요한 협업 과정이다.
1. GitHub 사이트로 이동하면 "feature/login 브랜치에 변경사항이 있으니 Pull Request를 생성할래요?" 라는 초록색 버튼이 보인다.
2. 버튼을 눌러 내가 작업한 내용과 리뷰를 요청하는 메시지를 작성하고 PR을 생성한다.
3. 이제 팀원들은 내 코드를 보고 의견을 남길 수 있다. 리뷰가 끝나고 승인이 나면, 관리자가 Merge 버튼을 눌러 내 코드를 main 브랜치에 안전하게 합친다.
Git과 GitHub는 더 이상 선택이 아닌 필수라고 한다.
협업할때 뿐만 아니라 개인 프로젝트를 할때도 버전을 효율적으로 관리하고 포트폴리오로도 활용하기 위해 Git이 중요한 것 같다.
이전에 진행하였던 나의 프로젝트도 GitHub에 업로드해서 수정사항들을 더 체계적으로 관리하고 새로운 업데이트가 생겼을때 bash를 이용해 더욱 편하게 관리할 수 있을 것이다.
앞으론 터미널의 claude code와 Mcp를 활용해보며 교수님이 학기중에 수도 없이 말씀하신 바이브 코딩 능력을 길러봐야겠다.