dev 브랜치를 pull 받아서 push하는 것과 개인 브랜치에서 dev 브랜치를 pull 받아서 MR(Merge Request 또는 Pull Request) 하는 것은 협업하는 방식에 따라 다소 차이가 있습니다.
이 방식은 주로 여러 개발자가 동시에 작업하는 경우에 사용됩니다.
각 개발자는 로컬에서 dev 브랜치를 pull하여 최신 코드를 가져옵니다.
개발자는 로컬에서 작업을 진행하고, 작업이 완료되면 dev 브랜치에 push합니다.
이후 다른 개발자들도 이 변경 사항을 확인하고, 필요한 경우 dev 브랜치를 pull하여 업데이트된 코드를 받아옵니다.
이 방식은 개발자가 개별적으로 작업하는 경우에 사용됩니다.
각 개발자는 작업을 위해 새로운 개인 브랜치를 생성합니다.
이 개인 브랜치에서 작업을 진행하고, 작업이 완료되면 해당 브랜치를 dev 브랜치에 MR 또는 PR을 생성하여 병합을 요청합니다.
코드 리뷰 및 피드백을 거친 후에 병합이 이루어집니다.
이 방식은 개별적인 작업 히스토리를 유지하면서 협업하는 데 유용합니다.
주된 차이점은 개인 브랜치에서 작업하여 MR을 통해 dev 브랜치에 병합하는 경우, 개별적인 작업 히스토리를 보존할 수 있고, 코드 리뷰 및 피드백을 쉽게 관리할 수 있다는 것입니다. 또한, 여러 명이 동시에 작업하는 경우에도 각자의 작업이 서로 영향을 주지 않으므로 충돌이 발생할 가능성이 줄어듭니다.