Seren dev's blog
article thumbnail
이 글은 인프런의 "알잘딱깔센 GitHub" 강의를 듣고 정리한 내용입니다.

 

인프런 강의 링크

 

[무료] 30분 요약 강좌 시즌4 : 알잘딱깔센 GitHub - 인프런 | 강의

알아서! 잘! 딱! 깔끔하고! 센스있게! 정리하는 GitHub 핵심 개념 책의 무료강의입니다. 해당 책과 Notion 링크도 무료로 다운로드 받을 수 있습니다. 비영리 프로젝트로 교재활용도 허락없이 가능합

www.inflearn.com

노션 링크

 


Git과 GitHub의 가장 큰 차이

  • Git은 분산 버전 관리 시스템이며 GitHub은 Git을 관리하는 웹 서비스이다.
  • Git은 내 컴퓨터에 설치되는 SW이며, GitHub은 웹 서비스이다.

Git기반의 웹 서비스는 GitHub 뿐만 아니라 GitLab 등 다양한 소프트웨어가 있다.

 

Git과 GitHub

분산 버전 관리 툴인 Git을 관리해주는 웹 호스팅 서비스가 바로 GitHub이다.

 

 

회사에 입사했는데 프로젝트 관리가 위와 같이 되어 있다고 가정하면, 아래와 같은 사항들이 불편할 것이다.

  • 유지보수
  • 저장 용량
  • 언제 어떤 코드가 수정되었는지 확인(추적관리)
  • 코드 공유(코드 저장, 만약 파일이 저장된 노트북을 잃어버린다면?)
  • 버전 관리

Git과 GitHub을 사용한다면 다음과 같은 편리한 점들이 있다.

  1. 용량 : 파일이 N개라면 N * 파일용량 → 수정 내역만 저장(Git)
  2. 협업 : 파일 주고 받기, 누가 수정했는지, 얼마만큼 수정되었는지, 프로젝트 보드(GitHub, GitLab 등의 타 서비스 이용 가능)
  3. 관리 : 원하는 Version으로 되돌리기(Git), Code 피드백과 리뷰(GitHub)

https://git-scm.com/

 

Git

 

git-scm.com

Git 공식 홈페이지

 

Git로컬 저장소(내 컴퓨터)원격 저장소(서버 컴퓨터)로 나뉘며, 원격 저장소에 작성된 코드를 받아오거나, 내 컴퓨터에 작성된 코드를 원격 저장소에 올릴 수 있다.

이때, 코드 뿐만 아니라 코드의 변경 내역까지 모두 가져올 수 있기 때문에 Git은 "버전 관리 도구"라고 할 수 있다.

 

https://github.com/

 

GitHub: Where the world builds software

GitHub is where over 83 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

github.com

GitHub 공식 홈페이지

이렇듯 Git에서 원격 저장소는 코드의 원본이나 변경 내역을 저장하는 매우 중요한 역할을 한다. 이러한 기능을 하는 툴을 형상 관리(Configuration Management) 툴이라고 부른다. Git, SVN, CVS등에 툴이 있고 현재 가장 많이 사용되고 있는 것이 Git이다.

 

이러한 Git을 클라우드 환경에서 사용할 수 있게 제공하는 공간이 GitHub이며, GitHub은 단순히 저장소 역할만 하는 것은 아니다.

GitHub는 개발자들 사이의 거대한 커뮤니티를 형성하고 있으며, 자신의 프로젝트는 물론 다른 개발자들의 인기 있는 프로젝트의 코드를 볼 수 있고, 이슈(issue)를 제기할 수 있으며, 원한다면 다른 이의 프로젝트를 수정하고 발전 시키는 데에 참여할 수 있다. 이를 오픈소스에 기여(contribution)한다고 합니다.

 

또한 프로젝트 관리, Code Editer 제공, 심지어 블로그도 Github으로 사용할 수 있다.

 


읽어 볼 만한 글

 

버전 관리 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 버전 관리(version control, revision control), 소스 관리(source control)[1], 소스 코드 관리(source code management, SCM)란 동일한 정보에 대한 여러 버전을 관리하는 것을 말한다.

ko.wikipedia.org

 

 

유의적 버전 2.0.0

Semantic Versioning spec and website

semver.org

 

728x90
profile

Seren dev's blog

@Seren dev

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!