Git
- 오픈 소스 버전 관리 시스템(VCS: Version Control System)
- 로컬에서 버전 관리
- 소프트웨어 개발 및 소스 코드 관리에 사용
git은 본인의 코드와 그 수정내역을 기록하고 관리하도록 돕는 버전 관리 프로그램이며,
로컬에서 프로젝트의 기록을 스스로 관리할 수 있도록 해준다.
git을 통해 브랜치를 생성하고 이전 브랜치로 복구, 삭제, 병합이 가능하다.
하지만 로컬 저장소를 사용하기 때문에 다른 개발자와 실시간으로 작업을 공유할 수 없다.
Github
- Git Repository를 위한 웹 기반 호스팅 서비스
- 클라우드 서버를 사용해서 로컬에서 버전 관리한 소스코드를 업로드하여 공유 가능
- 분산 버전 제어, 액세스 제어, 소스 코드 관리, 버그 추적, 기능 요청 및 작업 관리를 제공
- github는 git 저장소를 관리하는 클라우드 기반 호스팅 서비스이다. git 저장소 호스팅 서비스는 클라우드 기반으로 다른 사람과 소스코드 공유가 가능하며 git의 기본적인 기능을 확장하여 제공한다. 또한 클라우드 서버에 소스를 올리기 때문에 한 프로젝트에 여러 명의 사람이 참여하여 버전 제어 및 공동 작업이 가능하다.
간단히 Git은 로컬에서 버전 관리 시스템을 운영하는 방식이고
Github는 저장소를 깃허브에서 제공해주는 클라우드 서버를 이용한다는 것의 차이다.
따라서 다른 사람들과 협업할 경우, 오픈소스를 공유하고 다른 사람들의 의견을 듣고 싶은 경우 등은
Github를 써서 편리하게 기능을 사용할 수 있다.
만약 혼자 작업하거나 폐쇄적인 범위 내에서의 협업이라면 Git만 사용해도 무방하다.
버전 관리 시스템(VCS)이란 쉽게 말해 코드가 변경된 부분을 모두 기억해준다는 의미이다.
코드가 수정될 때마다 파일로 일일이 따로 저장해주거나 수동으로 백업해두기는 매우 번거로운 일인데,
이런 일을 대신해준다.
어떤 부분이 수정됐는지 쉽게 볼 수 있고 수정된 부분을 이전 버전으로 롤백 하는 등의 편리한 기능들을 가지고 있다.
코드 수정에 따른 위험성을 줄일 수 있기 때문에 개발자에게 필수적인 시스템이라고 할 수 있다.
따라서 일단 Git으로 로컬 저장소에 작업한 내용을 저장한 뒤 해당 내용을 Github에 업로드하는 형식으로 사용하게 된다. 또한 Github에 있는 컨텐츠를 내려받을 수도 있다.
이 세 과정을 의미하는 단어가 커밋(Commit), 푸쉬(push), 풀(Pull) 이다.
- 커밋(Commit) : Git(로컬 저장소)에 파일을 추가하거나 변경 내용을 저장하는 작업
- 푸쉬(Push) : Github(또는 원격 저장소)에 파일을 추가하거나 변경 내용을 저장하는 작업
- 풀(Pull) : Github(또는 원격 저장소)에서 파일을 다운로드하는 작업
Git은 버전 관리 '프로그램'이다.
Github는 Git을 사용하는 프로젝트를 지원하는 웹 호스팅 서비스이다.
버전 관리, 소스 코드 공유, 분산 버전 제어 등등이 가능한 원격 저장소이다.
'etc' 카테고리의 다른 글
[개발 지식] 네트워크-HTTP 프로토콜이란? (0) | 2023.04.12 |
---|---|
[개발 지식] 호이스팅이란? (0) | 2023.04.04 |
[개발 지식] 프론트엔드 관련 용어 정리 (0) | 2023.03.27 |
[개발 지식] 클린코드와 리팩토링 (0) | 2023.03.14 |
[개발 지식] [알고리즘] 시간복잡도란? (1) | 2023.03.13 |
댓글