이랜서, AI '씨름' 동작 분석 알고리즘 과기정통부 NIA 우수과제 선정

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

프리랜서의 모든 것

비즈니스 팁, 29 Aug 2023

깃-허브


개발자라면 노트북으로 문서를 작성하거나 코드를 개발하다 보면 갑자기 블루 스크린이 뜨거나 전원이 나가버려서 몇 시간 동안 작업한 내용이 사라져서 당황한 경험이나 또는, 여러 사람이 함께 작업하기 위해서 구글 Docs 같은 프로그램을 사용하던 중 내가 작성한 내용을 다른 사람이 삭제해버려서 난감한 경우도 겪어보았을 수 있을 겁니다.


이렇게 다수의 사람들이 공동으로 작업할 때 발생할 수 있는 문제를 예방하기 위해 사용하기 좋은 도구가 무엇일까요?  바로 ‘깃(Git)’과 ‘깃 허브(Git Hub)’입니다. 깃과 깃 허브는 개발자가 며칠 또는 몇 개월에 걸쳐서 열심히 개발한 소스 코드가 버전별로 관리되고, 또 여러 사람과 공동으로 개발할 때, 코드 편집 문제를 해결해 줄 수 있는 도구로, ‘한 번만 사용한 개발자는 없다’라는 말이 나올 정도의 필수 개발 도구인데요. 


열심히 일하는 개발자들을 위해, 23년 경력의 대한민국 최초, 최대 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 clone으로 원격 저장소를 복제해 온 경우, 원격 저장소명은 자동으로 origin으로 생성되게 됩니다. 따라서, 아래와 같이 형태로 사용되게 됩니다.


깃-허브-코드-올리기


참고로 기본 default 브랜치명은 master이지만, 2020년 10월 이후에는 깃 허브에서 신규 저장소를 생성하면, 기본 브랜치가 main으로 생성되게 됩니다. 깃 버전 2.28.0 부터는 기본 브랜치명을 master가 아닌 다른 것으로 변경할 수 있는 기능을 제공하고 있습니다.


단, 이렇게만 사용하게 되면 향후 계속해서 원격 리포지토리 와 로컬 리포지토리 동기화 시 매번 번거롭게 아래와 같이 전체 명령어로 동기화를 해야합니다.


push를 하는 경우,

깃



pull을 하는 경우,

깃-다운로드


따라서, 최초 동기화 명령어 입력 시에는 아래와 같이 -u 옵션 또는 --set-upstream 옵션을 추가하여 사용하게 되면 이후에는 원격 리포지토리 와 로컬 리포지토리 동기화에 단순히 git push 또는 git pull을 사용해서 처리가 가능합니다.

 

위의 명령어는 모두 작업 내용을 깃에 반영하고 로컬 리포지터리 및 원격 리포지터리에 반영하기위한 명령어입니다. 반대로 fetch와 pull은 모두 원격 리포지터리의 내용을 로컬로 가져올 때 사용됩니다. 그렇다면 이제 깃의 원격 저장소(remote repository) 서비스인 ‘깃 허브’에 대해서 알아봅시다.

 


깃 허브(Git Hub) - 협업을 위한 원격 공유 저장소


깃-플로우


깃만으로는 다른 팀원과 협업해서 소스코드 개발을 하기 힘들기 때문에, 원격 공유 저장소가 반드시 필요합니다. 깃 허브는 대표적인 무료 깃 저장소로 2008년에 서비스를 시작했습니다. 깃 허브 덕분에 언제 어디서나 협업 프로젝트를 쉽게 진행할 수 있습니다. 깃 허브에는 다수의 오픈소스가 올라가 있어서 참고할 수 있고, 또한 리포지터리를 비공개로 개인만 볼 수 있게 만들거나, 별도의 멤버에게만 공유해서 사용할 수도 있습니다.


참고로, 리포지토리 크기에 용량 제한은 없지만, 1GB 이하의 리포지터리 크기를 권장하며, 만약 시스템에 부하를 줄 정도로 큰 리포지토리를 가지게 되면, 깃 허브에서 수정 조치를 요구하는 이메일을 받을 수 있다고 합니다. 주로 소스코드 위주의 파일 관리에 사용하며, 소스코드 외의 외부 라이브러리는 깃 소스코드 관리에 제외하는 것이 바람직합니다.

 


깃 허브(Git Hub) 주요 서비스


깃-블로그


  • 소스 코드 원격저장소

소스 코드의 원격 저장소인 깃 허브로 다음과 같은 기능을 주로 사용됩니다.


  • 공동 프로젝트로 협업 할 때, 깃 허브로 소스 코드를 공유해 협업 개발에 사용할 수 있습니다.


  •  혼자서 프로젝트를 개발할 때, 깃 허브를 코드 백업 스토리지로 사용할 수 있습니다.


  • 코드 소스를 참고하거나 오픈 소스 프로젝트의 개발자 일원으로 참여할 수 있습니다.


  • 취업과 이직 시 사용할 수 있는 포트폴리오 게시 플랫폼 도구로 사용할 수 있습니다.



  • 개인 블로그 웹호스팅 용도

깃 허브의 Git Hub Pages라는 이름의 웹 호스팅 서비스를 사용하여 개인 블로그를 만들 수 있는데요. 깃 허브로 블로그를 만들면 다른 사이트에서 만드는 것과 달리 다음과 같은 장점이 있습니다.


  • 소스코드를 이용한 html, css파일을 업로드하여 홈페이지를 만들 수 있기 때문에, 원하는 형태로 마음대로 커스터마이징이 가능합니다.


  • 블로그에 Google AdSense를 연결하여 광고수익을 내거나 깃 허브를 이용한 무료 웹호스팅 서비스를 활용해 수익을 낼 수 있습니다.


 


  •  코딩의 전문적인 도움꾼 - Git Hub Copilot

깃 허브에서는 2021년 출시한 Git Hub Copilot이라는 인공지능 자동 코드 완성 도구를 제공합니다. Copilot을 이용하면 주석을 자동으로 달아주고, 또한 주석을 써주면, 코드를 자동으로 만들어 줘서, 단순하고 번거로운 작업을 자동화해준다는 점이 특징입니다.


Visual Studio Code, Visual Studio 2022, IntelliJ, WebStorm 등 다양한 IDE(통합개발도구)에서 Git Hub Copilot 플러그인을 설치하여 해당 기능을 사용할 수 있습니다. 코드 작성 중에 실시간으로 도움을 제공하고 생산성을 높여주는 도구로 아직 써보지 않은 개발자는 있어도, 한 번만 써본 개발자는 없지 않을까 생각될 정도로 반복 작업을 줄이고 생산성을 높일 수 있는 좋은 서비스입니다.



현직 개발자가 알려드리는 깃과 깃 허브 사용법, 잘 보셨나요? 


깃과 깃 허브는 프로그램의 소스 코드 버전을 관리하는 형상 관리 도구로, 다른 개발자들과 협업이 필요한 경우나 오픈소스 컨트리뷰터로 참여해 다양한 프로젝트를 경험함으로써 기술 스택을 확장하고 실력을 향상시키기 좋은 개발 도구입니다. 또한 자신이 사용해온 코드들을 정리해서 프로젝트 수주 시 개발자의 이력을 보여주는 ‘포트폴리오’로도 활용할 수 있어 프로젝트 수주 성공률을 높일 수 있습니다.


프리랜서 개발자라면 자신의 가치를 높여 좋은 프로젝트를 수주하는 것이 중요하죠. 깃 허브를 사용하여 실력을 증명할 포트폴리오를 만들었다면, 이제 좋은 프로젝트를 수주하러 갈  때인데요. 좋은 프로젝트를 수주할 수 있는 IT 프리랜서 전용 매칭 플랫폼을 소개해 드리겠습니다. 바로 대한민국 최초, 최대 IT 프리랜서 매칭 플랫폼 ‘이랜서’입니다.



IT 프리랜서 개발자를 위한 IT 프로젝트 매칭 플랫폼

대한민국 최초, 최대 IT 프리랜서 매칭 플랫폼 ‘이랜서’ 


이랜서는 IT 전문 프리랜서 매칭 플랫폼으로, 23년이 넘는 오랜 기간 동안 업계에서 쌓은 경험을 기반으로 유수의 대기업과 믿을 수 있는 중견/중소기업 프로젝트에 IT 인재를 추천해 드리고 있습니다. 성장을 위해 지속적으로 노력하는 프리랜서라면, 자신의 가치를 높이고 싶은 프리랜서라면, 여러분의 가치를 높게 평가해 주는 기업과 함께 일할 수 있는 기회를 놓치지 마세요!


원하는 프로젝트를 만족스러운 금액에,

프로젝트가 끝날 시기에 맞춰 다음 프로젝트 매칭까지

39만 명이 사용하는 플랫폼을 왜 이제서야 쓰게 되었는지

실력있는 프리랜서라면 이랜서를 사용하시는 것을 추천드립니다.

ㅡ  박OO 프리랜서 개발자


이랜서를 사용하는 프리랜서가 몇명인지 아세요? 약 39만 명입니다. 프리랜서 플랫폼 중 가장 많은 프리랜서들이 이랜서를 찾고 있는데요. 39만 명이나 되는 프리랜서들이 왜 이랜서를 통해 프로젝트를 매칭 받을까요? 한 번 살펴보겠습니다.


1. 오토폴리오: 쉽고 간편한 경력관리 서비스

웹-디자이너-연봉

이랜서 회원이라면 누구든지 이력 & 경력을 자동으로 관리해 주는 ‘오토폴리오’ 기능을 활용할 수 있습니다. 오토폴리오’15종의 이력서 파일을 자동으로 분류하여 웹에 업로드하거나 다운로드까지 할 수 있는 편리한 시스템입니다.


초기 1회만 표준 양식으로 등록하면 이력과 경력이 자동으로 업데이트되고, 다른 사람에게 보내기까지 가능해서, 프로젝트 수주 시 편리하게 사용할 수 있는데요. 일하느라 바쁜데 언제 이력 & 경력기술서 관리하고 있나요. 이제부터 피곤한 이력 & 경력 관리는  ‘오토폴리오’에 맡기시고 정말 중요한 일에만 집중하세요! 

ui-디자이너


▶️ 이력서 자동관리 서비스 "오토폴리오" 

시연 영상 보러가기



2. 프리랜서 1:1 맞춤 서비스


깃-허브-란


일에만 집중하고 싶은데, 프리랜서라면 프로젝트를 수주하는 일부터 혼자서 다 감당하지 못할 정도로 챙길 것이 많을 수밖에 없죠. 계약사항부터 업무사항 조율까지, 할 일은 많은데 확인해야 할 사항은 많고, 혼자서 감당하기 쉽지 않은데요. 이제 이랜서에게 맡기세요. ‘프리랜서 1:1 맞춤 서비스’로 모두 케어해 드립니다! 


이랜서를 사용하는 프리랜서라면 프로젝트가 시작할 때부터 끝날 때까지, 프리랜서를 위한 맞춤 서비스를 지원해 드립니다! 프로젝트 금액부터 종류, 계약 사항까지. 심지어 프로젝트 시작도 원하는 날짜까지, 이랜서는 프리랜서 1:1 맞춤 서비스로 프리랜서가 최대한 원하는 프로젝트를 매칭 받을 수 있게 지원해 드립니다. 프리랜서와 함께 일하는 이랜서에 회원가입하고 프리미엄 서비스를 느껴보세요!


3. 최신 프로젝트


깃-허브-시용법


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


깃-허브-커밋


프리랜서로 일한다는게

 외딴섬에서 혼자 일하는 것 같아 외로웠는데,

이랜서가 함께하니 든든합니다! 

ㅡ 디자이너 최OO 프리랜서 ㅡ




“일잘러 프리랜서로 거듭나고 싶으세요?” 

그렇다면 이랜서에 회원가입하고 프로젝트를 수주해 보세요!


이랜서에 가입한 프리랜서라면, 프로젝트의 A~Z까지 담당하며,

23년의 노하우와 데이터를 활용하여 최적의 프로젝트를 매칭해 드리겠습니다!



프로젝트 수주가 끝이 아닌 시작. 

이랜서는 프리랜서분들과 함께합니다!





최신 블로그