2017-11-14 18 views
0

지금까지 웹 사이트를 혼자서 사용할 수 있었고 내 서버에서 버전 관리를하지 않아도되었습니다 (기본적으로 열리고 수정 된 파일은 각 /var/www/vhosts/domain.tld/httpdocs-Folder에 sftp를 통해 직접 IDE/over로 저장 됨). ssh) 내 요구에 충분했기 때문에.기존 웹 사이트에 git 워크 플로를 추가하는 것이 가장 좋습니다

다른 개발자와 협력하고 이미 존재하는 모든 웹 사이트에 대해 git을 사용하는 가장 좋은 방법을 찾고 있습니다.

... 그것은이 추천

/home/git/domain_1.git, /home/git/domain_2.git 같이 다중 노출 된 저장소를 생성하는 예와

인가 git init --bare domain_1.git 같은 폴더에 /home/git/ 내 루트 - 계정과 어떻게 든 ** 이미 각각의 기존의 이 베끼고 자식 repos 각각에 추가 후 (후 수신?) 각 repo에 특정을 덮어 씁니다 추가 /var/www/vhosts/domain.tld/httpdocs-Folder마다 푸시. 그런 다음 모든 개발자에게 각 단일 저장소에 대해 ssh://[email protected]:/home/git/domain_1.git과 같은 URL을 사용하여 git-User를 통해 액세스 권한을 부여합니다.

그런 식으로하면 좋을 것입니다. 거기에 어떤 종류의 연습이 있습니까? 나는 아무 것도 찾을 수 없으며 며칠이 지난 지금부터 적절한 해결책을 찾고 있습니다.

아니면 이런 종류의 문제를 해결하기위한 더 나은/최선의 방법이 있습니까?

** = (어떻게?!이 베어의 repos에 git add 작품 ... 같은 어떤 자식 명령 이후) 귀하의 코드베이스를 관리하기 위해 버전 관리 시스템을 사용하는 결정에

+1

소스 제어를 설정하는 데 "최선의"방법이 무엇인지에 대해 의견이 분분합니다. 5 명 이하의 사용자에게 bitbucket 무료 요금제를 사용하십시오. https://confluence.atlassian.com/bitbucket/bitbucket-cloud-plan-details-224395568.html 그런 다음 시작하기 https://confluence.atlassian.com/get-started-with-bitbucket/set-up-a-team-861176358.html 쉬운 peeeezy –

답변

1

우선 축하드립니다. 두 번째로, 소스 컨트롤에 여러 개의 폴더를 유지 관리하기 위해 여러개의 리포지토리가 필요하지 않습니다. 모범 사례를 요청 했으므로 소스 컨트롤로 스스로를 설정하기 위해해야 ​​할 일에 직접 참여할 것입니다. 당신이 소스 제어 관리 도구 위에서 만든 저장소를 일단

당신은 소스 코드를 호스트하기 위해 하나 명의 저장소를 DVCS 도구 ---> GIT 필요 ----> Github에서 /의 Bitbucket 클라우드 만들고 빈의 repo 및 그 레포 안에 모든 코드를 가져 오십시오. 사용 방법은 this을 따르십니까?

다음으로 다른 개발자가 동일한 코드베이스에서 계속 개발할 수 있도록 분기 전략을 설계해야합니다. 하나의 마스터 브랜치 (다른 릴리스 버전 유지)와 하나의 통합 브랜치 (development branch)와 같은 단순한 것으로 시작하겠다. 개발자는 새로운 기능을 구현하기 위해 기능 분기를 만들어야합니다. 이를 검토하고 통합에 통합 한 다음 마스터에 병합 할 수 있습니다. 자세히 알아보기 https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows

1

베어 레포를 사용하고 싶지 않습니다 (이후 won't have a working directory).

repos를 만들려면 파일이있는 디렉토리의 루트에 git init을 사용할 수 있습니다. 더 나은 github/bitbucket를 사용하면 repo가 ​​생성됩니다. 그런 다음 복제하고 초기 커밋을 수행하고 밀어 넣을 수 있습니다.

여기서 중요한 점은 코드를 저장하는 "메인"장소가 라이브 서버가 아니라 개발 컴퓨터에 있다는 것입니다.이것은 또한 모든 사람들이 라이브 서버에 ssh를 걸어 push을 수행 할 필요가 없도록합니다.

그런 다음 필요할 때마다 레포지를 복제 할 수 있습니다. 아마도 당신의 레포지를 개발 머신에서 복제하여 변경할 수 있습니다. commitpush이 bitbucket으로 돌아갑니다. 그런 다음, 라이브 서버 (/var/www/vhosts/domain.tld/httpdocs-Folder에있는)에서 복제본을 가져 와서 "배포"프로세스가 git pull으로 바뀌면 bitbucket으로 푸시 된 최신 변경 사항을 얻을 수 있습니다.

다른 옵션으로는 commit에 대해 master 분기에 bitbucket 리포를 감시하고 자동으로 pull을 보내야합니다.

안전을 위해 research branching strategies이 필요합니다. 하나를 선택하고 모든 커미터가 그것을 따르는 방법을 알고 있는지 확인하십시오.

간단하게 말해서 master 브랜치는 "무엇이 살고 있습니까"가되고 develop은 변경해야합니다. 그래서 변경 내용은 개발자 머신 develop 브랜치에서 master 브랜치로 분기하여 라이브 서버로 흐릅니다. 코드를 마스터에 병합하기 위해 코드 검토와 함께 풀 요청을 사용하면 마스터를 안정적으로 유지하는 데 도움이됩니다.