Git 사용법 완벽 가이드
Git은 소스 코드 변경 이력을 추적하고 협업을 도와주는 분산 버전 관리 도구예요. 2005년 리누스 토르발스가 개발했으며, 오늘날 개발자들에게 필수 도구로 자리 잡았어요.
Git은 소프트웨어 개발뿐 아니라 문서 관리, 연구 프로젝트 등 다양한 분야에서도 활용돼요. 특히 원격 저장소와 연동해 효율적인 팀 협업이 가능하답니다.
![]() |
| Git 사용법 |
Git의 개요와 필요성
Git은 분산 버전 관리 시스템으로, 개발자들이 코드 변경 사항을 추적하고 협업할 수 있도록 도와주는 도구예요. Git을 통해 프로젝트의 과거 기록을 확인하거나, 특정 버전으로 되돌아갈 수 있는 강력한 기능을 제공해요.
내가 생각했을 때, Git의 가장 큰 장점은 협업의 효율성을 극대화한다는 점이에요. 여러 개발자가 동일한 프로젝트에서 작업할 때, 충돌을 최소화하며 개별적인 작업을 할 수 있도록 해주는 게 핵심 기능이랍니다.
Git은 2005년 리누스 토르발스에 의해 개발되었어요. 당시 리누스는 리눅스 커널 개발을 관리하기 위해 Git을 만들었고, 현재는 세계적으로 가장 널리 사용되는 버전 관리 도구로 자리 잡았어요.
Git을 활용하면 소프트웨어 개발뿐만 아니라, 문서 관리, 연구 프로젝트 등 다양한 분야에서도 협업과 버전 관리가 훨씬 더 쉬워져요. 개발자라면 반드시 알아야 할 필수 도구 중 하나라고 할 수 있어요.
Git 설치 방법
Git은 다양한 운영 체제에서 설치가 가능해요. 윈도우, 맥OS, 리눅스 환경에서 각각 다른 방식으로 설치할 수 있답니다. 아래는 주요 플랫폼별 설치 방법이에요.
윈도우: Git 공식 웹사이트(git-scm.com)에서 설치 파일을 다운로드받아 설치할 수 있어요. 설치 과정 중 Bash Shell 및 기본 에디터 설정을 지정할 수 있답니다.
맥OS: Homebrew를 사용하면 더 간편하게 설치할 수 있어요. 터미널을 열고 brew install git 명령어를 입력하면 자동으로 설치가 완료돼요.
리눅스: 대부분의 리눅스 배포판에서 기본적으로 Git 패키지를 제공해요. 예를 들어 우분투에서는 sudo apt-get install git 명령어를 사용하면 설치할 수 있어요. 패키지 관리자를 통해 최신 버전을 유지할 수도 있답니다.
설치가 완료되면, 터미널이나 명령 프롬프트를 열고 git --version을 입력해 Git이 제대로 설치되었는지 확인할 수 있어요.
Git 기본 명령어
Git을 제대로 사용하려면 기본 명령어를 익히는 것이 중요해요. 아래는 자주 사용하는 Git 명령어와 그 역할이에요.
1. git init: 새로운 Git 저장소를 초기화하는 명령어예요. 이 명령어를 실행하면 현재 폴더가 Git으로 관리되기 시작해요.
2. git clone: 원격 저장소를 복제해요. 협업 프로젝트에 참여하거나 기존 프로젝트를 내려받을 때 사용해요.
3. git add: 변경된 파일을 스테이징 영역에 추가해요. 예를 들어 git add file_name 혹은 git add .로 파일을 추가할 수 있어요.
4. git commit: 파일 변경 사항을 저장소에 기록해요. git commit -m "커밋 메시지" 형식으로 사용해요.
브랜치와 병합의 이해
브랜치는 Git의 가장 강력한 기능 중 하나로, 독립적인 작업 공간을 제공해요. 이를 통해 새로운 기능 개발이나 버그 수정을 메인 코드와 분리해서 진행할 수 있어요.
기본적으로 Git은 main(혹은 master) 브랜치를 제공해요. 새로운 브랜치를 생성하려면 git branch branch_name 명령어를 사용하면 돼요. 생성된 브랜치로 전환하려면 git checkout branch_name을 입력하면 돼요.
작업을 완료한 뒤에는 병합을 통해 변경 사항을 메인 브랜치에 반영할 수 있어요. 병합 명령어는 git merge branch_name이에요. 충돌이 발생하면 Git이 자동으로 병합할 수 없는 파일을 알려줘요.
병합 후에는 git log 명령어를 통해 변경 이력을 확인하고, 코드가 올바르게 반영되었는지 확인하는 것이 좋아요.
협업을 위한 Git 활용
Git은 팀 협업에서 필수 도구로 자리 잡고 있어요. 원격 저장소를 활용하면 여러 개발자가 실시간으로 프로젝트에 기여할 수 있답니다. 가장 많이 사용되는 원격 저장소 서비스는 GitHub, GitLab, Bitbucket 등이 있어요.
협업을 시작하려면 먼저 원격 저장소를 설정해야 해요. git remote add origin [원격 저장소 URL] 명령어를 통해 로컬 저장소를 원격 저장소와 연결할 수 있어요. 이후 git push 명령어로 변경 사항을 업로드하고, git pull 명령어로 최신 변경 사항을 내려받을 수 있답니다.
작업 중 다른 팀원이 업데이트한 내용을 받을 때는 충돌이 발생할 수도 있어요. 이런 경우 충돌을 해결하려면 문제를 발생시킨 파일을 수정한 후, git add와 git commit을 통해 병합을 완료해야 해요.
GitHub에서 협업을 더욱 효율적으로 하기 위해서는 Pull Request(PR)를 사용하는 것이 좋아요. PR을 통해 팀원들과 코드 변경 사항을 논의하고, 검토받을 수 있어요. 코드 리뷰를 통해 품질 높은 결과물을 만들어낼 수 있답니다.
Git 문제 해결 팁
Git을 사용하다 보면 다양한 문제가 발생할 수 있어요. 가장 흔한 문제와 그 해결 방법을 살펴볼게요.
1. 충돌 해결: 병합 중 충돌이 발생하면 Git은 충돌이 발생한 파일을 알려줘요. 해당 파일을 열어 충돌 표시를 제거하고 수정한 후, git add와 git commit으로 저장하세요.
2. 커밋 메시지 수정: 잘못된 커밋 메시지를 수정하려면 git commit --amend 명령어를 사용하면 돼요. 단, 이미 원격 저장소에 푸시된 커밋은 수정하면 안 돼요!
3. 파일 복구: 삭제한 파일을 복구하려면 git checkout HEAD file_name 명령어를 사용해 마지막 커밋 상태로 되돌릴 수 있어요.
4. 변경 사항 되돌리기: 특정 파일의 변경 사항을 되돌리려면 git restore file_name을 사용하면 돼요. 필요에 따라 전체 저장소를 이전 상태로 되돌릴 수도 있답니다.
FAQ
Q1. Git과 GitHub의 차이는 무엇인가요?
A1. Git은 버전 관리 도구이고, GitHub는 Git을 기반으로 한 원격 저장소 서비스예요. Git을 사용해 로컬에서 작업한 내용을 GitHub를 통해 온라인에서 관리하고 공유할 수 있답니다.
Q2. Git에서 파일을 무시하려면 어떻게 해야 하나요?
A2. .gitignore 파일을 생성하고 무시하려는 파일이나 폴더를 명시하면 돼요. 예를 들어, *.log는 모든 로그 파일을 무시하도록 설정해요.
Q3. Git 커밋을 취소할 수 있나요?
A3. 네, 가능합니다. git reset 명령어를 사용하면 커밋을 취소하거나 되돌릴 수 있어요. 단, 사용 시 주의가 필요해요!
Q4. Git 로그에서 커밋 이력을 확인하는 방법은?
A4. git log 명령어를 사용하면 커밋 이력을 확인할 수 있어요. 옵션으로 --oneline을 추가하면 요약된 형태로 확인할 수 있답니다.
Q5. 협업 중 충돌을 방지하려면 어떻게 해야 하나요?
A5. 주기적으로 git pull을 실행해 최신 변경 사항을 반영하고, 병합 전 항상 코드를 검토하는 것이 좋아요.
Q6. Git에서 특정 파일을 복구할 수 있나요?
A6. 네, 가능합니다. git checkout이나 git restore 명령어를 사용해 이전 상태로 복구할 수 있어요.
Q7. 로컬 브랜치를 삭제하는 방법은?
A7. git branch -d branch_name 명령어를 사용하면 브랜치를 삭제할 수 있어요. 강제로 삭제하려면 -D 옵션을 사용하면 돼요.
Q8. Git 저장소를 초기화하는 방법은?
A8. git init 명령어를 사용하면 새로운 Git 저장소를 만들 수 있어요. 이미 Git 관리 중인 디렉터리에서는 사용할 필요가 없답니다.

댓글
댓글 쓰기