🌼 Git
형상 관리 도구이다.(버전 관리 시스템이라고도 한다.)
소프트웨어를 개발하는 기업의 핵심 자산인 소스코드를 효과적으로 관리할 수 있게 해주는 무료, 공개소프트웨어.
🐶 SVN과 Git 차이점
Git - 분산형 관리 시스템
SVN : 중앙 서버에 소스코드와 히스토리를 저장
Git : 소스코드를 여러 개발 PC와 저장소에 분산해서 저장
중앙 서버에 장애가 발생해도 로컬 저장소에 커밋을 할 수 있으며, 로컬 저장소들을 이용하여 중앙 저장소의 복원도 가능하다.
사본을 로컬에서 관리하기 때문에 GIT이 SVN에 비해 훨씬 빠르다.
저장소가 삭제되어도 원상복구가 가능하다.
SVN | GIT |
---|
중앙서버 업로드(직관적) | 로컬저장소 저장후 서버 업로드 |
동시 업로드시 충동 가능성이 많다. | Branch와 Merge를 통해 충돌 가능성 낮음 |
모든 작업에 네트워크 사용되어 느림 | 작업은 로컬에서, 업로드만 네트워크를 사용해 빠름 |
X | 히스토리 관리 |
🐶 Github와 용어
분산 버전 관리 툴인 깃(Git)를 사용하는 프로젝트를 지원하는 웹호스팅 서비스이다.
언제, 어디서나 협업 프로젝트를 쉽게 진행할 수 있도록 돕는 역할을 한다.
1️⃣ Repository
저장소를 의미하며,저장소는 히스토리, 태그, 소스의 가지치기 혹은 branch에 따라 버전을 저장한다. 저장소를 통해 작업자가 변경한 모든 히스토리를 확인 할 수 있다.
2️⃣ Working Tree
저장소를 어느 한 시점을 바라보는 작업자의 현재 시점.
3️⃣ Staging Area
저장소에 커밋하기 전에 커밋을 준비하는 위치.
4️⃣ Commit
현재 변경된 작업 상태를 점검을 마치면 확정하고 저장소에 저장하는 작업.
5️⃣ Head
6️⃣ Branch
가지 또는 분기점을 의미하며, 작업을 할때에 현재 상태를 복사하여 Branch에서 작업을 한 후에 완전하다 싶을때 Merge를 하여 작업을 한다.
7️⃣ Merge
다른 Branch의 내용을 현재 Branch로 가져와 합치는 작업을 의미한다.
출처 : https://yanacoding.tistory.com/4