Git,GitHub

깃허브(GitHub)란?

록's 2023. 1. 3. 14:35
728x90
반응형

원격 저장소란?

- 깃에서는 지역 저장소와 원격 저장소(remote repository)를 연결해서 버전 관리하는 파일을 쉽게 백업할 수 있음
원격 저장소는 지역 저장소가 아닌 컴퓨터나 서버에 만든 저장소를 말함

 

  • 원격 저장소는 지역 저장소와 연결되어 있으면서 ‘백업’과 ‘협업’이라는 중요한 역할을 함
    특히 규모가 큰 프로젝트를 진행한다면 다른 사람과 협업할 때가 많은데, 이때 원격 저장소의 역할은 더욱 중요해짐
  • 원격 저장소를 직접 구축할 수도 있지만 만들고 유지하는 것이 쉽지 않으므로 원격 저장소를 제공하는 서비스를 주로 사용
    그중에서 깃과 관련해 가장 많이 사용하는 서비스가 바로 깃허브

 

깃허브로 할 수 있는 일들?

 

원격 저장소에서 깃을 사용할 수 있다.

  • 깃허브는 깃 사용을 위한 원격 저장소를 제공하는 서비스이므로 따로 깃을 설치하지 않고도
    온라인에서 깃의 버전 관리 기능을 사용할 수 있음
  • 지역 저장소를 만들지 않아도 깃허브에 원격 저장소를 만들어 사용할 수도 있고, 
    지역 저장소가 있다면 원격 저장소와 연결해서 사용할 수도 있음

지역 저장소를 백업할 수 있다.

  • 깃허브에 원격 저장소를 만들고 사용자 컴퓨터의 지역 저장소를 연결한 후
    동기화하면 지역 저장소를 인터넷에서 백업할 수 있음
  • 깃허브가 아닌 구글 드라이브 같은 클라우드 디스크에 백업할 수도 있지만
    깃허브에 백업하면 원격 저장소에 손쉽게 커밋할 수 있음

온라인 개발 툴을 사용할 수 있다.

  • 깃허브에 코드스페이스(Codespaces)라는 새로운 기능이 추가되어 클라우드에서 소스를 작성하고 편집할 수 있음
  • 컴퓨터가 바뀌거나 개발 환경이 달라질 때마다 VS Code를 설치하고 필요한 확장 기능을 추가하는 과정을
    반복해야 하지만, 코드스페이스를 사용하면 깃허브에 나만의 개발 환경을 만들어 놓고
  • 언제든지 온라인에서 VS Code 편집기를 열어 수정하고 커밋할 수 있음
  • 지역 저장소를 만들고 깃허브로 올리는(push) 과정도 필요 없음

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

  • 팀 프로젝트를 진행할 때도 이젠 깃허브가 기본 저장소가 되고 있음
  • 원격 저장소이므로 인터넷만 가능하면 누구나 접근할 수 있고, 깃과 깃허브에서 여러 가지 협업 도구를 제공하므로
    깃허브를 사용하면 팀원 여러 명이 하나의 프로젝트를 진행하기도 쉬움

자신의 개발 이력을 남길 수 있다

  • 깃허브에서 소스를 수정하고 오픈 소스에 참여해서 하는 일은 사용자 초기 화면에 날짜별로 모두 기록으로 남음
  • 빽빽하게 기록된 것을 보면 스스로 성실하게 개발했다는 뿌듯함을 느끼기도 함
  • 최근에는 개발자를 뽑을 때 깃허브 계정을 요구하는 곳이 있음
    지원자가 어떤 주제에 관심이 많은지, 어떤 것을 개발했는지, 그리고 무엇을 개발하는지 한눈에 확인할 수 있기 때문
  • 깃허브는 개발자가 자신의 개발 이력을 관리하기 좋은 플랫폼

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

  • 개발자로서 실력을 높이는 방법은 다른 사람의 소스를 읽어 보고 분석하면서 자기 나름대로 소스를 수정하고 작성해 보는 것
  • 깃허브에는 전세계 개발자들이 공개해 놓은 소스들이 많아 이 소스를 얼마든지 내 저장소로 가져와서 분석해 볼 수 있
  • 깃허브에는 깃을 비롯해 웹 개발이나 인공지능, 데이터 과학 등 전 개발 분야에 걸쳐 다양한 오픈 소스가 등록되어 있음,  이러한 오픈 소스를 살펴보고 참여할 수 있는 것도 깃허브의 커다란 매력

 

 

 

지역 저장소와 원격 저장소

 

  - 지역 저장소(local repository)  - 사용자 컴퓨터에 있는 저장소 
  - 원격 저장소(remote repository)  - 깃허브에 있는 저장소

  • 깃허브에서 버전을 관리할 때도 저장소를 만들어 사용해야 함
  • 우선 지역 저장소를 만들어 작업한 후 그 내용을 원격 저장소로 올리고 변경 사항이 생길 때마다 원격 저장소에도 반영할 것
  • 지역 저장소에서 원격 저장소로 커밋을 등록하는 것을 ‘푸시(push)’라고 함
    지역 저장소를 거치지 않고 원격 저장소에서 커밋을 만들 수도 있는데, 원격 저장소의 변경 사항을 지역 저장소로 내려받는 것
    을 ‘풀(pull)’이라고 함
  • 지역 저장소와 원격 저장소를 연결해 놓았기 때문에 지역 저장소의 변경 사항은 항상 원격 저장소로 올려 두어야 하고, 원격 저장소에서 무언가 변경 사항이 있다면 지역 저장소에 내려받아 두어야 함
  • 이렇게 지역 저장소와 원격 저장소를 항상 같게 유지하는 것을 ‘동기화(synchronize)’라고 함

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

'Git,GitHub' 카테고리의 다른 글

깃허브(GitHub) - vs Code 버전관리  (0) 2023.01.04
깃허브(GitHub) - 협업하기  (0) 2023.01.03
깃(Git) - 브랜치  (0) 2023.01.03
Git 명령어 정리 및 복습  (0) 2023.01.02
깃(Git) - 작업 되돌리기 - 05  (0) 2023.01.02