git

#21 깃(Git) - Remote Repository(원격 저장소)와 GitHub(깃허브)

에이블디 2021. 11. 30. 14:09

안녕하세요! 에이블디 입니다!

 

이번 시간에는  Remote Repository(원격 저장소)와 GitHub(깃허브)에 대하여 알아보겠습니다!

 

지금까지의 공부 및 실습은 여러분들의 컴퓨터에서 작업한 뒤 그 컴퓨터 안에 저장을 했는데요 이 리포지토리를 로컬 리포지토리(local repository, 지역 저장소)라고 합니다.

만약 실수라던지, 갑자기 OS가 날아간다던지, 혹은 하드디스크가 고장 난 다던지 등등 예상치 못한 일로 로컬 리포지토리가 삭제된다면 그때까지 작업했던 내용이 다 사라지는 상황이 생기겠죠?

이렇게 작업 내용을 로컬 리포지토리에만 저장하는 것은 안전하지 않게 때문에 작업하는 컴퓨터가 아닌 다른 곳에 저장공간을 마련하여 저장하면 프로젝트를 안전하게 보관할 수 있을 것입니다.

 

이때 사용되는 것이 리모트 리포지토리(remote repository, 원격 저장소)인데요! 리모트 리포지토리는 로컬 리포지토리가 아닌 컴퓨터나 서버에 만든 리포지토리를 말합니다.

깃에서는 로컬 리포지토리와 리모트 리포지토리를 연결해서 버전 관리하는 파일들을 쉽게 백업할 수 있습니다.

그래서 리모트 리포지토리는 로컬 리포지토리와 연결되어 있으면서 '백업'과 '협업'이라는 중요한 역할을 담당하게 됩니다.

그림으로 표현하면 아래의 이미지처럼 되겠네요!

 

리모트 리포지토리를 직접 구축할 수도 있겠지만 만들고 유지하는 것이 쉽지 않습니다.

그래서 인터넷에서 리모트 리포지토리를 제공하는 서비스를 많이 이용하는데요, 대표적인 서비스가 바로 깃허브(GitHub)입니다.

 

깃허브! 참 많이 들어보셨죠?

깃허브에서는 사용자를 위해 리포지토리를 제공합니다.

유료와 무료 서비스로 차별을 두긴 하지만 무료 서비스 만으로도 용량의 제한 없이 사용할 수 있는 장점이 있습니다.

하지만 깃허브가 유명한 것은 개발자들이 많이 사용하는 여러 오픈 소스들이 올라와 있기 때문에 단순히 하나의 서비스에 국한되지 않고 개발 문화 전체에 영향력이 아주 큰 서비스가 된 것이죠.

개발자라면 누구나 사용하는 깃허브! 그렇다면 깃허브로 무엇을 할 수 있을지 알아볼까요?

 

1.  로컬 리포지토리를 백업할 수 있습니다.

깃허브에 리모트 리포지토리를 만들고 사용자 컴퓨터의 로컬 리포지토리를 연결한 후 동기화하면 로컬 리포지토리를 인터넷 상에 백업할 수 있습니다.

깃허브가 아닌 다른 클라우드 디스크에 백업할 수도 있지만 깃허브에 백업하면 로컬 리포지토리에 손쉽게 커밋할 수 있습니다.

위의 이미지처럼 작업 중이던 프로젝트를 깃허브에 올려놓을 수 있습니다.

 

2. 협업 프로젝트에 사용할 수 있습니다.

팀 프로젝트를 진행할 때도 이젠 깃허브를 기본 저장소로 쓸 만큼 대부분의 회사나 토이 프로젝트에서도 많이 사용되고 있습니다.

리모트 리포지토리이므로 인터넷만 가능하면 누구나 접근할 수 있고, 깃과 깃허브에서 여러 가지 협업 도구를 제공하기 때문에 깃허브를 사용하면 여러 명의 팀원이 하나의 프로젝트를 쉽게 진행할 수 있습니다.

위의 이미지는 깃허브에서 협업을 위해 협업할 사람을 추가하는 화면입니다.

 

3. 자신의 개발 이력을 남길 수 있습니다.

깃허브에서 소스를 수정하고 커밋하거나, 오픈 소스에 참여하는 일 등은 사용자 초기화면에 날짜별로 모두 기록이 남습니다.

최근에는 개발자를 뽑을 때 깃 허브 계정을 요구하는 곳들이 많이 생겨나고 있는데요, 지원자가 어떤 것들을 개발하고, 어떤 것들에 관심 있는지 등을 기록을 통해 알 수 있기 때문입니다.

그래서 요즘엔 깃허브가 개발자의 개발 이력을 관리하는 플랫폼으로도 많이 사용되고 있습니다.

위의 이미지는 사용자 초기화면에 나타나는 활동 기록 화면입니다.

활동이 활발할수록 네모칸에 초록색이 색칠되는데 기록이 활발할 때와 그렇지 못할 때의 색 차이도 있습니다.

맨땅에 잔디가 심어지는 것 같은 것처럼 보여 '잔디를 깐다'라는 말로도 표현합니다.

 

4. 다른 사람의 소스를 살펴볼 수 있고, 오픈 소스에 참여할 수도 있습니다.

개발자가 실력을 높이는 방법은 여러 가지가 있지만 그중에 하나가 다른 사람의 소스를 보면서 분석해보고 나름대로 또 그 소스를 커스텀하고, 작성해 보는 것입니다.

깃허브에는 전 세계 개발자들이 공개해 놓은 소스들이 많습니다.

이 소스들을 내 저장소로 가져와서 분석해 볼 수 있고 또한 깃허브에는 웹, 앱, 인공지능 등 여러 가지 분야의 다양한 오픈 소스들이 등록되어 있어 이러한 오픈 소스를 살펴보고 참여할 수도 있는 것도 깃허브의 가장 큰 장점 중 하나입니다.

 

5. 리모트 리포지토리에서 깃을 사용할 수 있습니다.

깃허브는 깃 사용을 위한 리모트 리포지토리를 제공하는 서비스이기 때문에 따로 깃을 설치하지 않고도 온라인상에서 깃의 버전 관리 기능을 사용할 수 있습니다.

로컬 리포지토리에서 깃을 사용하듯 인터넷에서 깃을 사용하는 것인데요, 로컬 리포지토리를 만들지 않아도 깃허브에 리모트 리포지토리를 만들어 사용할 수도 있고, 로컬 리포지토리가 있다면 리모트 리포지토리와 연결해서 사용할 수도 있습니다.

 

오늘은 리모트 리포지토리와 깃허브의 개념에 대해서 알아봤는데요!

다음 시간부터는 깃허브를 하나하나 써보면서 깃허브에 대해 알아가 보는 시간을 갖도록 하겠습니다!

 

그럼 여러분 다음 시간에 만나요!