팀프로젝트를 하는 경우
A라는 사람이 작성한 기능을 공유해야 함
1. 작업물을 압축해서 보낸다.
2. 프로젝트에 합친다.
중앙 저장소를 두고 ABCD 개발자는 작업물을 중간에 올린다.
A는 이제 원격 저장소와 소통함.
그래서 BCD는 어떤 기능을 개발하는지 모르는 상황이 발생.
각자 메모를 해서 어떤 부분을 작업했는지 저장소에 공유하기로 함.
상의 끝에 일부 기능을 삭제나 수정하기로함.
문제는 A는 기능을 삭제했는데, D는 별도의 기능으로 수정함.
A가 삭제해서 업로드했는데, D가 이후에 업로드함.
=> 삭제가 되지 않고 수정된 기능으로 반영됨.
저장소를 여럿으로 만들게 되었는데
이러다 보니 별도의 프로젝트로 사용하게 됨.
저장소 구조화
main
최상위에 main 저장소를 만들고
개발은 하위 저장소에서 진행
개발이 완료되면 main 저장소에 전달
용어 정리
commit : 메모
history : 메모들의 모음
Pull : 저장소에서 다운로드, 동기화
Push : 저장소에 업로드
Branch : 각각의 저장소
Merge : 저장소를 상위 저장소에 합치는 것.
Commit을 관리하기 위함.
=> 버전 관리
Git : VCS (Version Control System)