깃 허브 사용법, 현직 개발자가 깃과 깃허브 사용법을 알려드립니다.

개발자라면 노트북으로 문서를 작성하거나 코드를 개발하다 보면 갑자기 블루 스크린이 뜨거나 전원이 나가버려서 몇 시간 동안 작업한 내용이 사라져서 당황한 경험이나 또는, 여러 사람이 함께 작업하기 위해서 구글 Docs 같은 프로그램을 사용하던 중 내가 작성한 내용을 다른 사람이 삭제해버려서 난감한 경우도 겪어보았을 수 있을 겁니다.
이렇게 다수의 사람들이 공동으로 작업할 때 발생할 수 있는 문제를 예방하기 위해 사용하기 좋은 도구가 무엇일까요? 바로 ‘깃(Git)’과 ‘깃 허브(Git Hub)’입니다.
깃과 깃 허브는 개발자가 며칠 또는 몇 개월에 걸쳐서 열심히 개발한 소스 코드가 버전별로 관리되고, 또 여러 사람과 공동으로 개발할 때, 코드 편집 문제를 해결해 줄 수 있는 도구로, ‘한 번만 사용한 개발자는 없다’라는 말이 나올 정도의 필수 개발 도구인데요.
열심히 일하는 개발자들을 위해, 27년 경력의 대한민국 최초, 최대 IT 프리랜서 매칭 플랫폼 이랜서에서 개발자를 위한 ‘깃 허브 사용 방법’을 알려드리겠습니다!
깃(Git)과 깃허브(Git Hub)

깃 허브는 전 세계에서 가장 인기 있는 ‘소스 코드 호스팅 및 협업 플랫폼’으로 수백만 명 이상의 개발자 및 조직 사용하고 있습니다. Git Hub는 오픈 소스 프로젝트부터 기업용 개발까지 다양한 분야에서 사용되며, 많은 대표적인 오픈 소스 프로젝트와 기업이 Git Hub를 플랫폼으로 선택하고 있는데요. 깃허브를 설명하기 전, 깃과 깃 허브를 혼동하시는 분들이 많아 둘의 관계를 먼저 말씀드리겠습니다.
깃(Git)과 깃 허브(Git Hub)의 관계

깃을 처음 접할 때 깃을 사용하는 것과 깃 허브를 사용하는 것이 같은 것으로 생각하는 오해가 종종 발생합니다. 깃과 깃허브는 자주 같이 언급되고, 또 깃을 알기 전에 깃허브를 먼저 아는 사람들이 많기 때문입니다.
깃 허브는 깃의 원격 저장소(Remote Repository)를 클라우드 상의 외부 서버에서 서비스해 주는 ‘저장소’입니다. 이러한 깃의 원격 저장소(또는 원격 리포지터리) 서비스는 깃 허브 외에도 깃 랩(Git Lab), 비트버킷(Bitbucket) 같은 것들이 존재합니다.
이러한 원격 개인 노트북이나 PC에 로컬로 존재하는 지역 저장소(local repository)를 동기화해서 사용하면, 여러 개발자가 함께 공동 작업을 할 수 있습니다. 따라서 깃 허브의 서비스를 살펴보기 전에 깃이란 무엇이며, 사용법과 사용 이유에 대해서 알아보겠습니다.
소프트웨어 형상 관리도구 깃(Git)

깃은 형상 관리 도구(Configuration Management Tool) 또는 버전 관리 시스템으로, 쉽게 설명하면, 주로 ‘프로그램의 소스 코드 버전을 관리’해주는 오픈 소스 소프트웨어 툴입니다. 물론 프로그램 소스 코드 외에 문서의 형상 관리(버전 관리)도 깃을 통해 관리할 수 있지만, 주로 텍스트로 이루어진 소스 코드와 같은 파일의 변경 내용을 효과적으로 관리하기 위해 사용됩니다.
프로그램의 소스 코드 버전을 관리하는 이유
프로그램의 소스 코드는 프로그램의 핵심 요소이자 프로그램을 소유한 기업의 자산이라고 할 수 있습니다. 때문에 기업들은 프로젝트 진행 시 프로그램의 코드를 백업해서 분실 위험을 최소화하고, 코드 수정 시 오류가 발생할 상황을 대비하고 있습니다.
깃은 이러한 소스 코드 버전을 관리할 수 있게 도와주는 형상 관리 도구이며, 깃과 같은 형상 관리 도구로는 SVN(Subversion), CVS(Concurrent Versions System), Mercurial 등이 있습니다. 깃이 만들어지기 전에는 주로 이러한 도구들을 사용했지만 깃이 대중화되면서 깃이 가장 널리 사용되는 도구가 되었습니다.
깃(Git)의 개념과 사용법

깃은 개발자에게 필수적이지만, 기존의 다른 중앙 집중식 버전 관리 도구에 비하여 개념을 잡고, 명령어를 사용하기에 다소 어려운 부분이 있습니다. 이는 Git이 분산 버전 관리 도구이기 때문입니다.
중앙 집중식 버전 관리 도구의 경우, 중앙 서버에서 소스코드를 집중해서 관리하기 때문에 단순히 로컬로 체크아웃해서 개발 후 다시 중앙 서버로 커밋만 하면 되는 구조로 이해하기가 쉽지만, 깃(Git)은 분산 버전관리 도구로 작업 공간, 스테이징 영역, 로컬 리포지터리, 원격 리포지터리로 여려 영역으로 구분되어 사용되기 때문에 처음 사용할 때 다소 이해하기 어려울 수 있습니다.
아래 그림은 깃에서 관리하는 각각의 영역을 박스로 표시하였고, 화살표에는 각각의 공간의 데이터를 동기화 시키는 깃명령어를 표시하였습니다. 각각의 내용을 잘 이행하여야 깃을 어려움 없이 사용할 수 있습니다.

작업 영역
실제 소스 코드 작업이 이루어지는 로컬 PC의 디렉토리와 파일을 뜻합니다.
스테이징 영역
‘작업 공간’에서 작업한 내용 중에 깃이 관리하는 ‘로컬 리포지터리’로 저장하기 위해 저장할 대상을 선정하는 임시 영역. 스테이징 영역이라는 것은 저장할 대상이 되는 파일을 선택하는 무대영역을 의미합니다.
로컬 리포지터리
깃의 버전 관리가 이루어지는 실제 Git 저장소를 말합니다.
원격 리포지터리
다른 개발자와 코드를 공유하기 위해 로컬 리포지터리와 동기화되는 원격저장소이며, 깃 허브 등의 서비스를 의미합니다.
예를 들어 아래와 같이 사용하면, 작업 영역의 소스코드 중 변경사항을 스테이징 영역에 적용(복사)하는 과정이 이루어 집니다.
| git add. |
해당 스테이징 영역의 내용을 깃 로컬 리포지토리에 적용하려면 아래의 명령어를 사용합니다.
| git commit -m "commit message" |
또한, 로컬 리포지터에 반영된 내용을 다른 개발자와 협업 개발을 위해 원격 리포지토리에 동기화 시키기 위해서는 아래 명령어를 사용합니다.
| git push <저장소명> <브랜치명> |
통상, git clone으로 원격 저장소를 복제해 온 경우, 원격 저장소명은 자동으로 origin으로 생성되게 됩니다. 따라서, 아래와 같이 형태로 사용되게 됩니다.
| git push origin master |
참고로 기본 default 브랜치명은 master이지만, 2020년 10월 이후에는 깃 허브에서 신규 저장소를 생성하면, 기본 브랜치가 main으로 생성되게 됩니다. 깃 버전 2.28.0 부터는 기본 브랜치명을 master가 아닌 다른 것으로 변경할 수 있는 기능을 제공하고 있습니다.
단, 이렇게만 사용하게 되면 향후 계속해서 원격 리포지토리 와 로컬 리포지토리 동기화 시 매번 번거롭게 아래와 같이 전체 명령어로 동기화를 해야합니다.
push를 하는 경우,
| git push origin master:master |
pull을 하는 경우,
git pull origin master:master |
따라서, 최초 동기화 명령어 입력 시에는 아래와 같이 -u 옵션 또는 --set-upstream 옵션을 추가하여 사용하게 되면 이후에는 원격 리포지토리 와 로컬 리포지토리 동기화에 단순히 git push 또는 git pull을 사용해서 처리가 가능합니다.
위의 명령어는 모두 작업 내용을 깃에 반영하고 로컬 리포지터리 및 원격 리포지터리에 반영하기위한 명령어입니다. 반대로 fetch와 pull은 모두 원격 리포지터리의 내용을 로컬로 가져올 때 사용됩니다. 그렇다면 이제 깃의 원격 저장소(remote repository) 서비스인 ‘깃 허브’에 대해서 알아봅시다.
깃 허브(Git Hub) - 협업을 위한 원격 공유 저장소

깃만으로는 다른 팀원과 협업해서 소스코드 개발을 하기 힘들기 때문에, 원격 공유 저장소가 반드시 필요합니다. 깃 허브는 대표적인 무료 깃 저장소로 2008년에 서비스를 시작했습니다.
깃 허브 덕분에 언제 어디서나 협업 프로젝트를 쉽게 진행할 수 있습니다. 깃 허브에는 다수의 오픈 소스가 올라가 있어서 참고할 수 있고, 또한 리포지터리를 비공개로 개인만 볼 수 있게 만들거나, 별도의 멤버에게만 공유해서 사용할 수도 있습니다.
참고로, 리포지토리 크기에 용량 제한은 없지만, 1GB 이하의 리포지터리 크기를 권장하며, 만약 시스템에 부하를 줄 정도로 큰 리포지토리를 가지게 되면, 깃 허브에서 수정 조치를 요구하는 이메일을 받을 수 있다고 합니다.
주로 소스코드 위주의 파일 관리에 사용하며, 소스코드 외의 외부 라이브러리는 깃 소스코드 관리에 제외하는 것이 바람직합니다.
깃 허브(Git Hub) 주요 서비스

원격 저장소 (Remote Repository)
GitHub는 로컬에서 관리하던 Git 저장소를 온라인에 보관할 수 있는 원격 저장소를 제공합니다. 이를 통해 코드 백업, 여러 기기 간 동기화, 팀원 간 코드 공유가 가능해집니다.
협업을 위한 코드 리뷰 환경
GitHub는 Pull Request를 통해 코드 변경 사항을 공유하고, 팀원 간 리뷰와 토론을 진행할 수 있는 환경을 제공합니다. 이는 실수를 줄이고, 코드 품질을 유지하는 데 중요한 역할을 합니다.
이슈(Issue) 기반 작업 관리
기능 요청, 버그, 개선 사항 등을 Issue로 정리해 작업 단위를 명확히 관리할 수 있습니다. 이를 통해 개발 진행 상황을 한눈에 파악할 수 있습니다.
프로젝트 공개 및 포트폴리오 활용
GitHub에 프로젝트를 공개하면 다른 개발자들과 코드를 공유할 수 있고, 개인 포트폴리오로도 활용할 수 있습니다.
Git & GitHub 실전 사용 흐름

Git과 GitHub는 변경 이력을 체계적으로 관리하고 협업을 원활하게 만드는 작업 흐름을 제공합니다. 실무에서는 명령어를 외우는 것보다, 어떤 상황에서 어떤 순서로 사용하는지를 이해하는 것이 훨씬 중요합니다.
1. 개인 개발 환경에서의 Git 사용 흐름
혼자 개발하는 경우에도 Git은 매우 유용합니다. 일반적으로 다음과 같은 흐름으로 사용됩니다.
- 프로젝트 폴더를 Git 저장소로 초기화합니다.
- 기능을 개발하거나 코드를 수정합니다.
- 변경 사항을 의미 있는 단위로 나누어 커밋합니다.
- 문제가 생기면 이전 커밋 상태로 되돌아가거나, 변경 이력을 비교합니다.
이 방식의 장점은, 실험적인 수정도 부담 없이 시도할 수 있다는 점입니다. 언제든 이전 상태로 되돌릴 수 있기 때문에, 코드 변경에 대한 리스크를 줄일 수 있습니다.
GitHub는 필수는 아니지만, 코드 백업이나 여러 환경에서의 작업을 위해 함께 사용하는 경우가 많습니다.
2. GitHub를 사용하는 이유: 협업과 공유
Git이 로컬 환경에서 버전 관리를 담당하는 도구라면, GitHub는 이를 원격에서 공유하고 협업할 수 있도록 돕는 플랫폼입니다.
GitHub를 사용하면 다음과 같은 작업이 가능해집니다.
- 여러 사람이 같은 프로젝트에 동시에 참여
- 코드 변경 이력의 공유
- 피드백과 코드 리뷰
- 외부 개발자와의 협업
- 프로젝트 공개 및 포트폴리오 관리
즉, GitHub는 단순한 저장소가 아니라, 개발 협업을 위한 작업 공간에 가깝습니다.
3. 팀 개발에서의 기본적인 흐름
팀에서 Git과 GitHub를 사용할 때는 일반적으로 다음과 같은 흐름을 따릅니다.
- 공용 저장소를 GitHub에 생성합니다.
- 각 개발자는 저장소를 복사(clone)하여 로컬에서 작업합니다.
- 기능 단위로 브랜치를 나누어 작업합니다.
- 작업이 끝나면 GitHub에 변경 사항을 업로드(push)합니다.
- 일반적으로 Pull Request를 생성하여 코드 리뷰를 요청합니다.
- 리뷰가 끝나면 main 브랜치에 병합(merge)합니다.
이 흐름의 핵심은, 각자의 작업이 서로에게 바로 영향을 주지 않도록 분리하면서도, 최종 결과는 하나의 코드로 정리된다는 점입니다.
4. GitHub 중심의 협업 구조
GitHub에서는 단순히 코드를 올리는 것보다, 작업을 관리하는 방식이 중요합니다. 실무에서는 다음과 같은 구조가 자주 사용됩니다.
- Issue: 해야 할 작업이나 버그를 정리
- Branch: 실제 코드를 수정하는 공간
- Pull Request: 수정한 내용을 공유하고 검토받는 단계
- Review: 팀원들이 코드에 의견을 남김
- Merge: 검토가 끝난 코드를 최종 반영
이 과정은 단순한 형식이 아니라, 실수를 줄이고 코드 품질을 유지하기 위한 장치입니다.
5. Git과 GitHub를 함께 사용하는 이유
Git만 사용해도 버전 관리는 가능하지만, GitHub와 함께 사용하면 다음과 같은 장점이 생깁니다.
- 변경 이력을 원격에서 안전하게 보관
- 팀원 간 코드 공유
- 리뷰와 토론 기록 관리
- 프로젝트 진행 상황을 한눈에 파악
즉, Git이 변경 이력을 관리하는 도구라면, GitHub는 협업을 가능하게 만드는 환경이라고 볼 수 있습니다.
현직 개발자가 알려드리는
깃과 깃 허브 사용법, 잘 보셨나요?
깃과 깃 허브는 프로그램의 소스 코드 버전을 관리하는 형상 관리 도구로, 다른 개발자들과 협업이 필요한 경우나 오픈 소스 컨트리뷰터로 참여해 다양한 프로젝트를 경험함으로써 기술 스택을 확장하고 실력을 향상시키기 좋은 개발 도구입니다.
또한 자신이 사용해온 코드들을 정리해서 프로젝트 수주 시 개발자의 이력을 보여주는 ‘포트폴리오’로도 활용할 수 있어 프로젝트 수주 성공률을 높일 수 있습니다.
프리랜서 개발자라면 자신의 가치를 높여 좋은 프로젝트를 수주하는 것이 중요합니다. 깃 허브를 사용하여 실력을 증명할 포트폴리오를 만들었다면, 이제 좋은 프로젝트를 수주하러 갈 때인데요.
좋은 프로젝트를 수주할 수 있는 IT 프리랜서 전용 매칭 플랫폼을 소개해 드리겠습니다. 바로 대한민국 최초, 최대 IT 프리랜서 매칭 플랫폼 ‘이랜서’입니다.
IT 프리랜서 개발자를 위한 IT 프로젝트 매칭 플랫폼
대한민국 최초, 최대 IT 프리랜서 매칭 플랫폼 ‘이랜서’

이랜서는 IT 전문 프리랜서 매칭 플랫폼으로, 27년이 넘는 오랜 기간 동안 업계에서 쌓은 경험을 기반으로 유수의 대기업과 믿을 수 있는 중견/중소기업 프로젝트에 IT 인재를 추천해 드리고 있습니다.
성장을 위해 지속적으로 노력하는 프리랜서라면, 자신의 가치를 높이고 싶은 프리랜서라면, 여러분의 가치를 높게 평가해 주는 기업과 함께 일할 수 있는 기회를 놓치지 마세요!
❝
원하는 프로젝트를 만족스러운 금액에,
프로젝트가 끝날 시기에 맞춰 다음 프로젝트 매칭까지
40만 명이 사용하는 플랫폼을 왜 이제서야 쓰게 되었는지
실력있는 프리랜서라면 이랜서를 사용하시는 것을 추천드립니다.
ㅡ 박OO 프리랜서 개발자 ㅡ
이랜서를 사용하는 프리랜서가 몇명인지 아세요? 약 41만 명입니다. 프리랜서 플랫폼 중 가장 많은 프리랜서들이 이랜서를 찾고 있는데요. 이렇게 많은 IT 전문 프리랜서들이 왜 이랜서를 통해 프로젝트를 매칭 받는지 살펴보겠습니다.
1. 오토폴리오: 쉽고 간편한 경력관리 서비스

이랜서 회원이라면 누구든지 이력 & 경력을 자동으로 관리해 주는 ‘오토폴리오’ 기능을 활용할 수 있습니다. ‘오토폴리오’는 15종의 이력서 파일을 자동으로 분류하여 웹에 업로드하거나 다운로드까지 할 수 있는 편리한 시스템입니다.
초기 1회만 표준 양식으로 등록하면 이력과 경력이 자동으로 업데이트되고, 다른 사람에게 보내기까지 가능해서, 프로젝트 수주 시 편리하게 사용할 수 있는데요.
일하느라 바쁜데 언제 이력 & 경력기술서 관리하고 있나요. 이제부터 피곤한 이력 & 경력 관리는 ‘오토폴리오’에 맡기시고 정말 중요한 일에만 집중하세요!

▶️ 이력서 자동관리 서비스 "오토폴리오" 시연 영상 보러가기
2. 프리랜서 1:1 맞춤 서비스

일에만 집중하고 싶은데, 프리랜서라면 프로젝트를 수주하는 일부터 혼자서 다 감당하지 못할 정도로 챙길 것이 많을 수밖에 없죠. 계약사항부터 업무사항 조율까지, 할 일은 많은데 확인해야 할 사항은 많고, 혼자서 감당하기 쉽지 않은데요.
이제 이랜서에게 맡기세요. ‘프리랜서 1:1 맞춤 서비스’로 모두 케어해 드립니다!
이랜서를 사용하는 프리랜서라면 프로젝트가 시작할 때부터 끝날 때까지, 프리랜서를 위한 맞춤 서비스를 지원해 드립니다!
프로젝트 금액부터 종류, 계약 사항까지. 심지어 프로젝트 시작도 원하는 날짜까지, 이랜서는 프리랜서 1:1 맞춤 서비스로 프리랜서가 최대한 원하는 프로젝트를 매칭 받을 수 있게 지원해 드립니다. 프리랜서와 함께 일하는 이랜서에 회원가입하고 프리미엄 서비스를 느껴보세요!
3. 개발부터 디자인 기획, 직종에 맞는 프로젝트를 매칭

나에게 딱 맞는 프로젝트를 찾으시나요? 그렇다면 이랜서에 회원가입하고 프로젝트를 수주해 보세요! 대기업부터 중견, 중소기업까지! 개발부터 퍼블리싱, 디자인, 기획, 기타 프로젝트까지 다양한 최신 프로젝트들이 일잘러 프리랜서를 기다리고 있습니다. 일잘러 프리랜서로 거듭날 기회! 이랜서에 회원가입하고 커리어를 업그레이드할 프로젝트를 수주하세요!

❝
프리랜서로 일한다는게
외딴섬에서 혼자 일하는 것 같아 외로웠는데,
이랜서가 함께하니 든든합니다!
ㅡ 디자이너 최OO 프리랜서 ㅡ
"일잘러 프리랜서로 거듭나고 싶으세요?”
그렇다면 이랜서에 회원가입하고 프로젝트를 수주해 보세요!
이랜서에 가입한 프리랜서라면, 프로젝트의 A~Z까지 담당하며,
27년의 노하우와 데이터를 활용하여 최적의 프로젝트를 매칭해 드리겠습니다!