오픈 소스 프로젝트가 증가함에 따라 점점 더 많은 소프트웨어 엔지니어가 오픈 소스 커뮤니티에 참여하고 오픈 소스 프로젝트에 기여하고 싶어합니다. 그 중 Git 웨어하우스를 기반으로 한 오픈소스 프로젝트인 GitLab은 무료 코드 호스팅 서비스를 제공할 뿐만 아니라 다양하고 강력한 협업 도구를 제공하여 개발자들이 보다 편리하게 팀 단위로 협업할 수 있도록 해준다.
그러나 코드 개발 과정에서 때로는 특정 요구 사항이 있을 수 있습니다. GitLab 소스 코드를 직접 수정하면 향후 업데이트가 번거로울 수 있습니다. 따라서 현시점에서는 2차 개발이 절실히 필요하다. 이번 글에서는 GitLab 프로젝트를 기반으로 2차 개발을 진행하는 방법을 다음과 같은 측면에서 소개하겠습니다.
먼저 GitLab 공식 웹사이트에서 소스 코드를 받아야 합니다. 여기서는 gitlab-ce를 선택했습니다. Git을 설치한 후 터미널에 다음 명령을 입력합니다.
git clone https://gitlab.com/gitlab-org/gitlab-ce.git
이 명령은 전체 GitLab 프로젝트의 소스 코드를 로컬에 다운로드하며 해당 파일은 gitlab의 루트 디렉터리 형태로 로컬 웨어하우스에 표시됩니다. -ce.
이제 로컬 저장소에서 GitLab의 소스 코드를 찾을 수 있습니다. 그러나 마스터 브랜치에서 소스 코드를 직접 수정할 수는 없습니다. 왜냐하면 향후 업데이트가 매우 번거로워지기 때문입니다. 따라서 전용 개발 브랜치를 만들어야 합니다.
터미널에 GitLab 루트 디렉터리를 입력하세요:
cd gitlab-ce/
그런 다음 새 브랜치를 만듭니다:
git checkout -b my-feature-branch
여기에서는 새 기능 브랜치를 만드는 예를 들어보겠습니다. 필요에 따라 다른 유형의 브랜치를 만들 수도 있습니다.
이제 my-feature-branch 분기의 코드를 수정할 수 있습니다. 수정이 완료되면 다음 명령어를 사용하여 수정된 파일을 확인하세요.
git status
파일 하나만 수정한 경우 다음 명령어를 사용하여 제출할 수 있습니다.
git commit -m "feat: 修改XXX文件"
새로운 브랜치 생성 개발은 그 이후로 로컬에서 수행되었습니다. 이 과정에서 공식 GitLab 팀의 코드 업데이트가 발생할 수 있습니다. 공식적으로 업데이트된 코드를 브랜치에 병합하려면 다음 명령을 사용할 수 있습니다.
먼저 마스터 브랜치를 입력하세요.
git checkout master
그런 다음 최신 공식 코드를 가져옵니다.
git pull origin master
그런 다음 개발 브랜치로 돌아갑니다.
git checkout my-feature-branch
이러한 방식으로 우리 브랜치가 최신 코드와 동기화됩니다. 여기서 주목해야 할 점은 두 개의 브랜치가 동일한 파일의 다른 부분만 수정하는 경우 Git이 자동으로 코드를 병합한다는 것입니다. 두 브랜치가 동일한 위치를 수정하는 경우 코드 충돌을 수동으로 처리해야 합니다.
수정된 코드가 모두 완료되었음을 확인한 후 다음 명령을 사용하여 코드를 제출할 수 있습니다.
git push origin my-feature-branch
이 명령은 새로 생성된 브랜치를 GitLab 서버로 업데이트합니다. 그런 다음 공식 GitLab 팀에 병합 요청을 제출하여 코드가 표준을 충족하는지 검토하고 메인라인 브랜치에 병합할 수 있도록 해야 합니다.
공식 팀에서 코드를 병합한 후에도 이를 프로덕션 환경에 배포해야 합니다. 일반적으로 최신 코드를 로컬에서 가져와 다음 명령을 사용하여 서버에 배포해야 합니다.
bundle exec rake gitlab:backup:create RAILS_ENV=production sudo gitlab-ctl stop sudo gitlab-ctl start
위 명령은 기존 GitLab 데이터를 백업하고 배포된 GitLab 서비스를 중지한 다음 새 코드를 시작하는 데 사용됩니다. 물론, 여기서 언급한 내용은 예시일 뿐 실제 배포 과정에서 주의가 필요한 사항이 있을 수 있습니다.
요약:
이 글의 소개가 개발자가 GitLab의 2차 개발 프로세스를 더 잘 이해하는 데 도움이 되기를 바랍니다. 기술적 배경이 다르고 코드 품질이 다르기 때문에 각 개발자의 GitLab 보조 개발 프로세스가 다를 수 있다는 점에 유의해야 합니다. 따라서 실제 개발 과정에서는 더 나은 결과를 얻으려면 구체적인 문제에 따라 유연하게 처리해야 합니다.
위 내용은 gitlab 프로젝트를 기반으로 2차 개발을 개발하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!