Perforce Helix로부터의 이주

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

Perforce Helix는 Git과 유사한 중앙 집중식 소프트웨어 버전 관리 시스템을 포함한 일련의 도구를 제공합니다.

Perforce 대 Git

다음 디렉터리은 Perforce Helix와 Git 간의 주요 차이점을 설명합니다:

  • 일반적으로, 가장 큰 차이점은 Perforce 브랜칭이 가볍지 않고 Git 브랜칭이 가볍다는 것입니다. Perforce에서 브랜치를 생성하면 해당 브랜치에 있는 파일 수에 관계없이 각 파일에 대해 고유한 데이터베이스 통합 레코드를 생성합니다. 그에 반해 Git은 변경 후의 리포지터리 전체 상태를 가리키는 단일 SHA가 도움이 될 수 있습니다.
  • Git에서 브랜치 간의 컨텍스트 전환이 덜 복잡합니다. 당신의 매니저가 “그 새로운 기능에 대한 작업을 중지하고 이 보안 취약점을 수정해야 한다”고 말한다면, Git은 여러분에게 도움을 줄 수 있습니다.
  • 로컬 컴퓨터에 프로젝트와 이력의 완전한 사본을 가지고 있다는 것은 모든 트랜잭션이 매우 빠르다는 것을 의미하며, Git은 이를 제공합니다. 당신은 분리된 상태에서 브랜치를 생성하거나 Merge하고 실험한 뒤에 변경 내용을 다른 사람들과 공유하기 전에 정리할 수 있습니다.
  • Git은 코드 리뷰를 덜 복잡하게 만듭니다. 기본 브랜치에 Merge하지 않고 변경 사항을 공유할 수 있기 때문입니다. 이는 다른 사람들이 Merge하기 전에 변경 사항을 검토할 수 있도록 서버에 Shelving 기능을 구현해야 했던 Perforce와 비교됩니다.

이주해야 하는 이유

Perforce Helix는 사용자와 관리자 모두에게 어려울 수 있습니다. Git/GitLab으로의 이주가 아래와 같은 이점이 있습니다:

  • 라이선스 비용이 없음: Git은 GPL이지만 Perforce Helix는 고유합니다.
  • 짧은 학습 커브: Git은 거대한 커뮤니티와 다양한 자습서로 시작할 수 있습니다.
  • 현대적인 도구와의 통합: Git 및 GitLab으로 이주함으로써 내장된 버전 관리, 이슈 추적, 코드 리뷰, CI/CD 등을 갖춘 오픈 소스 엔드 투 엔드 소프트웨어 개발 플랫폼을 갖출 수 있습니다.

어떻게 이주할 것인가

Git에는 Perforce로부터 코드를 가져오고 Git에서 다시 Perforce로 제출하기 위한 내장 메커니즘이 있습니다(git p4).

다음은 시작할 수 있는 몇 가지 링크입니다:

git p4git filter-branch는 작고 효율적인 Git 팩파일을 생성하는 데 좋지 않습니다. 따라서 GitLab 서버로 처음으로 보내기 전에 리포지터리를 적절하게 다시 정리하는 데 시간과 CPU를 투자하는 것이 좋을 수 있습니다. 이 StackOverflow 질문을 참조하십시오.

관련 주제