“`html
쉽게 배우는 Git & GitHub: 협업의 시작
코딩을 하다 보면 이전 코드를 실수로 지우거나, 여러 사람이 동시에 작업해야 하는 경우가 생깁니다. 이런 문제를 해결해주는 강력한 도구가 바로 Git과 GitHub입니다. 특히 팀 프로젝트나 오픈소스 기여를 위해서는 필수적인 기술이죠. 처음 접하는 분들도 쉽게 이해할 수 있도록 Git과 GitHub의 기본 개념부터 실전 활용법까지 자세하게 설명해 드리겠습니다.
Git & GitHub란 무엇일까요?
Git은 분산 버전 관리 시스템(Distributed Version Control System)입니다. 쉽게 말해, 파일의 변경 사항을 추적하고 기록하는 시스템입니다. GitHub는 Git 저장소를 호스팅하는 웹 기반 서비스입니다. Git으로 관리하는 프로젝트를 온라인에 올려 다른 사람들과 공유하고 협업할 수 있게 해줍니다.
버전 관리 시스템 (VCS) 이란?
버전 관리 시스템은 파일 변경 이력을 추적하고 관리하는 시스템입니다. 과거 버전으로 되돌아가거나, 변경 사항을 비교하거나, 여러 사람이 동시에 작업하는 것을 용이하게 해줍니다. Git은 이러한 버전 관리 시스템 중 가장 널리 사용되는 도구 중 하나입니다. 마치 타임머신처럼, 과거의 코드로 언제든 돌아갈 수 있게 해주는 셈이죠.
Git과 GitHub의 차이점
Git은 로컬에서 파일을 관리하는 도구이고, GitHub는 Git으로 관리하는 파일을 온라인에 저장하고 공유하는 플랫폼입니다. Git이 엔진이라면, GitHub는 그 엔진을 탑재한 자동차라고 생각하면 이해하기 쉬울 겁니다. Git을 통해 코드의 변경 사항을 추적하고 관리하며, GitHub를 통해 협업하고 코드를 공유할 수 있습니다.
Git 설치 및 초기 설정
이제 Git을 실제로 설치하고 초기 설정을 해보겠습니다. 운영체제(Windows, macOS, Linux)에 따라 설치 방법이 조금씩 다르지만, 공식 웹사이트에서 다운로드하여 간단하게 설치할 수 있습니다.
Windows에 Git 설치하기
Git for Windows에서 설치 파일을 다운로드하여 실행합니다. 설치 과정은 대부분 기본 설정으로 진행해도 무방합니다. 다만, 텍스트 에디터를 선택하는 부분에서는 선호하는 에디터를 선택하면 됩니다. (VS Code, Notepad++, Sublime Text 등)
macOS에 Git 설치하기
macOS에는 Homebrew를 통해 Git을 설치하는 것이 일반적입니다. Homebrew가 설치되어 있지 않다면 먼저 Homebrew를 설치해야 합니다. 터미널을 열고 `brew install git` 명령어를 입력하여 Git을 설치할 수 있습니다. 설치가 완료되면 `git –version` 명령어를 통해 Git 버전을 확인할 수 있습니다.
Git 설정: 사용자 이름 및 이메일 설정
Git을 설치한 후에는 사용자 이름과 이메일 주소를 설정해야 합니다. 이 정보는 커밋할 때마다 기록되며, 누가 어떤 변경을 했는지 추적하는 데 사용됩니다. 터미널에서 다음 명령어를 입력하여 사용자 이름과 이메일 주소를 설정합니다.
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
제 경험상, 이 과정을 제대로 설정해두는 것이 나중에 협업할 때 혼란을 줄이는 데 매우 중요합니다.
Git 기본 명령어 배우기
Git을 사용하는 데 필요한 기본적인 명령어들을 살펴보겠습니다. 이 명령어들을 익히면 Git을 사용하여 파일을 추적하고, 변경 사항을 커밋하고, 브랜치를 관리할 수 있습니다.
git init
: 저장소 초기화
새로운 Git 저장소를 만들거나 기존 디렉토리를 Git 저장소로 만들 때 사용하는 명령어입니다. 프로젝트 디렉토리로 이동하여 `git init` 명령어를 실행하면 해당 디렉토리 안에 `.git` 디렉토리가 생성됩니다. `.git` 디렉토리에는 Git 저장소의 모든 정보가 저장됩니다.
git add
: 변경 사항 추적
Git이 추적할 파일을 선택하는 명령어입니다. `git add .` 명령어를 사용하면 현재 디렉토리의 모든 변경 사항을 추적합니다. 특정 파일만 추적하고 싶다면 `git add filename` 명령어를 사용하면 됩니다.
git commit
: 변경 사항 저장
추적하고 있는 변경 사항을 저장하는 명령어입니다. 커밋할 때마다 커밋 메시지를 작성해야 합니다. 커밋 메시지는 변경 사항을 설명하는 간결하고 명확한 문장으로 작성하는 것이 좋습니다. `git commit -m “커밋 메시지”` 명령어를 사용하여 커밋할 수 있습니다.
git status
: 저장소 상태 확인
현재 Git 저장소의 상태를 확인하는 명령어입니다. 어떤 파일이 변경되었는지, 어떤 파일이 추적되고 있는지 등을 확인할 수 있습니다. `git status` 명령어를 사용하면 추적되지 않은 파일(untracked files), 변경된 파일(modified files), 커밋할 준비가 된 파일(staged files) 등의 정보를 확인할 수 있습니다.
git log
: 커밋 기록 확인
커밋 기록을 확인하는 명령어입니다. 어떤 커밋이 언제, 누가, 어떤 메시지로 이루어졌는지 확인할 수 있습니다. `git log` 명령어를 사용하면 커밋 해시, 작성자, 날짜, 커밋 메시지 등의 정보를 확인할 수 있습니다. `git log –oneline` 명령어를 사용하면 커밋 메시지를 한 줄로 간략하게 확인할 수 있습니다.
GitHub 활용: 원격 저장소와 협업
GitHub를 사용하여 원격 저장소를 만들고, 로컬 저장소와 연결하고, 다른 사람들과 협업하는 방법을 알아보겠습니다.
GitHub 저장소 생성
GitHub 웹사이트에 접속하여 새로운 저장소를 생성합니다. 저장소 이름, 설명, 공개/비공개 여부 등을 설정할 수 있습니다. 저장소를 생성할 때 README 파일을 추가하는 것이 좋습니다. README 파일은 프로젝트에 대한 간단한 설명과 사용법을 담고 있습니다.
로컬 저장소와 원격 저장소 연결
로컬 저장소를 GitHub 원격 저장소에 연결하기 위해 `git remote add` 명령어를 사용합니다. `git remote add origin [GitHub 저장소 URL]` 명령어를 입력하면 로컬 저장소가 원격 저장소를 “origin”이라는 이름으로 연결합니다.
git push
: 로컬 변경 사항 원격 저장소에 업로드
로컬 저장소의 변경 사항을 원격 저장소에 업로드하는 명령어입니다. `git push origin main` 명령어를 사용하면 로컬 저장소의 main 브랜치를 원격 저장소의 main 브랜치에 업로드합니다. 처음 push할 때는 `-u` 옵션을 추가하여 `git push -u origin main` 명령어를 사용해야 합니다.
git pull
: 원격 저장소 변경 사항 로컬 저장소에 다운로드
원격 저장소의 변경 사항을 로컬 저장소에 다운로드하는 명령어입니다. `git pull origin main` 명령어를 사용하면 원격 저장소의 main 브랜치를 로컬 저장소의 main 브랜치에 병합합니다. 협업할 때는 다른 사람이 변경한 내용을 먼저 pull한 후 작업하는 것이 좋습니다.
git clone
: 원격 저장소 복제
원격 저장소를 로컬 컴퓨터로 복제하는 명령어입니다. `git clone [GitHub 저장소 URL]` 명령어를 사용하면 원격 저장소의 모든 내용을 로컬 디렉토리로 복제합니다. 오픈소스 프로젝트에 기여하고 싶을 때, 먼저 해당 프로젝트의 저장소를 clone하여 로컬에서 작업한 후 변경 사항을 pull request로 제출할 수 있습니다.
결론
지금까지 Git과 GitHub의 기본적인 개념과 사용법을 알아보았습니다. Git과 GitHub는 처음에는 어렵게 느껴질 수 있지만, 꾸준히 사용하다 보면 코딩 작업의 효율성을 크게 높여주는 필수적인 도구라는 것을 알게 될 것입니다. 개인적으로는, Git과 GitHub를 익히면서 협업 능력도 크게 향상되었습니다. 지금 바로 Git을 설치하고 GitHub 계정을 만들어 실습해보세요! 다음 단계로는 브랜치 관리, 충돌 해결, pull request 등 좀 더 고급 기능을 익혀보는 것을 추천합니다.
“`