[AWS] Code Commit
Code Commit
★ 파일들을 보관하는 저장 장소 (Repository) - Github과 매우 유사
- 코드, 사진, 라이브러리 etc
★ 동시에 많은 사람들이 저장 장소 접근 및 업데이트 가능
★ 버전 컨트롤 기능 제공 (로그)
- eg. 언제 어떻게 누가 저장 장소 내용을 변경하였는지
다양한 파일들이 들어있는 마스터 브랜치가 있다.
각각의 모양과 다른 색깔 : 다른 파일 포맷
개발자 A가 마스터 브랜치로부터 로컬브랜치를 하나 생성
개발자 A의 로컬 브랜치는 마스터 브랜치 복제본
개발자 A가 하트의 색을 변경하였다.
⭢ 기존의 어플리케이션 수정
동시에 개발자 B도 마스터 브랜치로부터 자신의 로컬 브랜치를 하나 생성
개발자 B도 하트의 색을 변경하였다.
✪ 코드 커밋에는 마스터 브랜치와 디벨롭 브랜치로 두개로 나누어진다.
디벨롭 브랜치란? 마스터 브랜치로 통합하기 전 온갖 테스트를 거치는 장소
디벨롭 브랜치 역시 많은 개발자들이 공유하면서 사용하는 것. 충돌이 자주 일어남.
이 예시에서 개발자 A와 B가 디벨롭 브랜치에서 서로 테스트를 한다고 가정.
개발자 A가 먼저 디벨롭 브랜치에 업데이트를 했다.
개발자 B가 디벨롭 브랜치에 업데이트를 하려 하는데 이미 다른 개발자가 디벨롭 브랜치를 변경시켜준 것에 브랜치를 합쳐야하는데 여기서 충돌(Conflict)이 일어난다.
여기서 두가지 선택사항이 있다
첫번째, 내것으로 사용할지
두번째, 개발자 A의 것을 사용할지
만약 개발자 A의 것이 좋다면 개발자 B의 로컬 브랜치 역시 개발자 A의 것과 싱크가 된다.
만약 개발자 A의 테스트가 모두 성공이고 다른 개발자들 모두 개발자 A의 업데이트에 동의 한다면 개발자 A의 코드는 마스터 브랜치로 합쳐진다.
다수의 개발자가 하나의 저장 장소를 같이 공유하면서 어플리케이션 개발이 가능해지는 것
Tip ! 디벨롭 브랜치는 최대한 마스터 브랜치와 싱크가 되어지는 것을 권장.
그래야지 로컬 브랜치를 만들고 가장 최신 환경에서 올바른 테스트가 디벨롭 브랜치에서 가능