Git & GitHub 의 기본 개념
- 개발자라면?/Git & GitHub
- 2022. 9. 20.
* 이 글은 '제주코딩베이스캠프(링크)' 의 알잘딱깔센 GitHub 무료 강좌(링크)를 참고해 작성했습니다.
소개
- Git: 버전 관리 프로그램
- GitHub: Git 을 관리해주는 웹 호스팅 서비스
(버전관리, 소스코드 공류, 분산 버전 제어 등이 가능한 원격 저장소)
* Git 기반의 웹 서비스는 GitHub 외에도 GitLab 등 다양한 SW 가 있다
Git
- 리누스 토르발즈 개발 (리누스 토르발즈는 리눅스 커널도 개발했다)
- Open Source Version Control System (VCS, 오픈 소스 버전관리 시스템)
- Local 에서 Version 관리
- SW 개발 및 Source code 관리에 사용
Git 은 본인의 코드와 수정 내역을 기록해 관리를 돕는 VCS 이며, Local 에서 Project 기록을 스스로 관리할 수 있게 해준다
Git 을 통해 Branch 를 생성하고 이전 Branch 로 복구, 삭제, 병합이 가능하다
하지만 Local 저장소를 사용하기 때문에 다른 개발자와 실시간 작업공유는 어렵다
GitHub
- 2008년 톰 프레스턴워너, 크리스 완스트래스, 피제이 하이엣 이 공동 설립한 회사 (2018년 MS 가 인수)
- Git Repository (저장소) 를 위한 웹 기반 호스팅 서비스
- 클라우드 서버를 사용해 Local 에서 버전 관리한 소스 코드를 업도르하여 공유 가능
- 제공 기능
- 분산 버전 제어
- 엑세스 제어
- 소스 코드 관리
- 버그 추적
- 기능 요청 및 작업관리
GitHub 는 Git 저장소를 관리하는 클라우드 기반 호스팅 서비스이다
다른 사람과 소스 코드 공유가 가능하며, git 의 기본적인 기능을 확장해 제공한다
또한 클라우드 서버에 소스를 올리기 때문에 한 Project 에 여러 명의 사람이 참여하여 버전 제어 및 공동 작업이 가능하다
* 코드의 피드백과 리뷰에도 활용한다
Git 과 GitHub
Git 과 GitHub 는 무료 Open Source 이면서 우리가 코드로 협업하는데 필요한 사항에 대해 솔류션을 제공한다
Git 은 버전 관리 도구 중 가장 선호도가 높은 프로그램이다
GitHub 를 사용하기 위해서는 Git 이라는 프로그램을 이해해야 한다
Git 은 Local (내 컴퓨터)와 원격 저장소 (서버 컴퓨터)로 나뉜다
내 컴퓨터에서 작성한 프로젝트를 원격 저장소에서 바로 가져올 수 있다
이 때, 코드 뿐만 아니라 코드의 변경 내역까지 모두 가져올 수 있기 때문에 Git 이 버전 관리 도구라 불린다
이렇듯 Git 에서 원격 저장소는 코드의 원본이나 변경 내역을 저장하는 매우 중요한 역할을 한다
이런 기능의 툴을 형상 관리 툴 (Configuration Management Tool) 이라 한다
Git, SVN, CVS 등의 툴이 있고 Git 을 가장 많이 사용한다
GitHub 는 Git 을 클라우드 환경에서 사용할 수 있게 서비스를 제공한다
또한 GitHub 는 단순 저장소 역할을 넘어 대다수의 개발자들이 참여하는 커뮤니케이션이기도 하다
내 Project 는 물론 다른 개발자들의 Project 를 볼 수 있으며, Issue 를 제기하거나 Projcet 에 참여할 수도 있다.
(* 이를 Open Source 에 Contribution 한다고 표현한다)
또한 Code Editor 기능도 제공하며 블로그도 GitHub 를 사용해 만달 수 있다
참고
'개발자라면? > Git & GitHub' 카테고리의 다른 글
Git CLI 알아보기 (명령어) (0) | 2022.10.14 |
---|---|
GitHub 사용하기 (feat. git CLI) (0) | 2022.10.13 |
Git commit 이해하기 (feat. 명령어) (0) | 2022.09.24 |
Git 설치와 설정 (feat. 명령어) (0) | 2022.09.24 |
Git & GitHub 맛보기 (0) | 2022.09.20 |