그냥 소소한 프로젝트라 따로 브렌치 이런건 하지 않고
마스터(중앙저장소) 하나로 친구와 협업하려 합니다.
친구가 먼저 일정 부분개발을 완료한후 커밋찍고 중앙저장소에 푸쉬 했다면
제가 작업한 내용들은 어떻게 되나요????
자동으로 합쳐지나요 아니면 깡그리 무시되고 친구가 해둔 부분만 저에게 pull되나요???
깡그리 무시된다고 가정하면 제가 작업 중간중간 커밋을 찍는다면,
제가 커밋한 부분은 친구걸 pull받아도 충돌이 안난다는 가정 하에 살아서 합쳐지게 되나요???
햇갈립니다....
git은 svn과 다르게 커밋이라는 중간단계가 하나 더있는거구요. svn에서의 커밋이 git에서의 푸시라고 보시면되요.
본인이 푸시를 안했으면 중앙저장소에 소스가 올라가지않은거구요. git에서의 커밋은 그냥 개발자 개인의 로컬저장소에 커밋이 된거지
실제 서버에 올려진게 아닙니다.
같은 저장소에 따로작업해서 각자 푸시하면 자동으로 합쳐지겠지만 그렇게 하면 100%충돌 이나죠.
중앙저장소에서 같이 작업을 할거면 git을 사용하는 이유를 모르겠네요
각자 브랜치를 만들어서 그곳에서 작업을하고 각자 작업한 브랜치를 중앙 저장소에 머지를 시킨후에 푸시를 하면 서로 작업한 내용이
합쳐지게 되겠죠
그리고 누군가 먼저 수정해서 머지를했다면 반듯이 풀을하고 수정된 소스를 다받고 자신이 수정한 내용을 커밋 푸시하시면 됩니다.
그래서 항상 푸시하기전에 누군가 먼저 수정해서 이미 올린게 있는제 패치 풀을 꼭 하는것을 습관하 하시고요