집중형 vs 분산형 관리 시스템
- 집중형
- 메인 중앙 서버에서 개발 구성원의 모든 소스 코드를 관리
- 중앙에 문제가 생기면 코드 날아감
- 분산형
- p2p 방식으로 각 개발자에게 공유
- 저장과 관리에 유리
협업개발
- 코드 공유
- 책임과 기록
- 원격 공유
- 깃에서는 원격 저장소가 중앙 서버 역할을 함
- push,/ pull, fetch 등으로 업무가 효율적
- 병합
- 하나의 소스 코드를 여러 가지 브랜치로 분기하여 독립된 기능을 구현
- 이를 병합 가능
- 이때 수작업도 가능하지만, 다양한 병합 알고리즘을 깃에서 제공함
- 공개
깃의 동작
- 초기화 : 폴더를 깃 저장소로 변경
- 커밋: 변경된 코드의 이력을 기록
- 브랜치 : 분리 격리된 코드 이력을 기록
- 병합: 기존 이력과 분리된 이력을 통합
- 푸시: 로컬 저장소의 이력을 서버로 전송 및 공유
깃 설치
깃의 작업 환경
- 터미널 모드
- bash 환경 제공( 운영체제 상관없이 모두 동일한 콘솔 명령어)
- 소스트리: gui 작업환경
- SSH 프로토콜 통신 이용