1.가치 치기와 병합
여거가지 작업을 동시에 하는데 섞이면 안되는 상황이 있을 수 있다.
사용자는 일 단위, 기능 단위로 작업을 할수있기 때문에 가치를 만들어 main코드에서 독립성을 유지하는데 필요하다.
가지를 만들어 테스트를 진행한 후 가지를 병합을 통해 main코드에 반영한 후 main코드에서 배포할 수 있다.
2. 가볍고 빠르다.
로컬에서 진행된다.
SVN : 중앙시스템에서 여러 개발자들이 접속하여 코드를 공유하기 때문에 항상 네트워크 필요->모든코드는 중앙시스템
git: 다른 사람과 코드를 공유할때만 중앙 서비스에 접속을 하면 되기 때문에 네트워크 속도에 관계없이 매우 빠르게 작업 진행->모든 코드는 각각 사용자들에게 있다.
3. 분산 작업
각각 개발자에게 코드가 있다.
통합 관리자가 있기 때문에 개발된 코드를 병합하는데 집중한다. 개발자는 개발하는데 집중할수있다.
4. 데이터 보장
무결성을 보장,모든 파일은 체크썸이라는 검사과정을 거친다.
16진수 문자열인 commit ID가 있어 이를 통해서 누가 어느파일을 작업했는지 기록이 남아 버전관리가 편하다.
5. 준비 영역(Staging area)
수정한 내용을 repository에 반영하기 전에
git add를 통해서 staging area에 반영할 파일 선택하고 repository에 올리는 git commit작업을 한다.
Git에서 관리하는 세 영역 : 작업 영역(Working Directory), 준비 영역(Staging Area), 저장소(Repository)
6. 오픈 소스
소스코드를 공개한 상태에서 인터넷에 누구나 프로젝트발전에 기여할 수 있다.
7. Git호스팅 서비스
Github,Bitbucket,GitLab이 있다.
출처: 한이음 엘리스
'Programmer > 그 외' 카테고리의 다른 글
[리뷰] 코딩 인터뷰 완전 분석 - 기술적 문제 (0) | 2020.12.07 |
---|---|
[git] Git 원격 저장소 (0) | 2020.06.03 |
[git] Git 가지치기 (0) | 2020.06.03 |
[git] Git 시작하기 (0) | 2020.06.02 |
[git] 명령어 정리 (0) | 2020.05.10 |