2016-09-15 2 views
1

내 gitlab 계정에 zip/production (master) 및 map/production (master에서 fork)이라는 프로젝트가 2 개 있습니다. Zip/Production을 변경할 때마다 맵/프로덕션으로 자동 업데이트되어야하지만 그대로 맵/프로덕션에있는 추가 파일을 유지해야합니다. 이것이 가능한가?마스터 코드베이스의 변경 사항을 gitlab의 forked 코드베이스에 자동으로 동기화합니다.

+0

git hooks를 살펴보십시오. 변경 사항을 Zip/Production으로 푸시하면 프리 푸시 후크가 시작되고 다른 포크 된 레포로 푸시됩니다. – Grinch91

+0

map/production에있는 추가 코드를 그대로 사용하는 것이 가능합니까? – sunshine

+0

일종. 새로운 항목을 푸시하면 로컬 추가 변경 사항을 병합해야 할 수 있습니다. –

답변

0

가능할뿐만 아니라 매우 쉽게!

# .git/hooks/post-receive on the remote: 


#!/usr/bin/bash 

IFS=' ' 
while read local_ref local_sha remote_ref remote_sha 
do 

    echo "$remote_ref" | egrep '^refs\/heads\/[A-Z]+-[0-9]+$' >/dev/null && { 
    ref=`echo $remote_ref | sed -e 's/^refs\/heads\///'` 
    echo Forwarding feature branch to features-only repository: $ref 
    git push -q features-only $ref --force 
    } 

done 

이 예 (JIRA의 문제 형식 XYZ-1234) 가지의 일부만을 취해 제 저장소로 전달. 모든 것을 전달하기 위해 조건부를 벗어날 수 있습니다.

+0

맵/프로덕션 인스턴스에 추가 코드를 맵/프로덕션에 보관할 수 있습니까? – sunshine

+0

@ sunshine, 당신은 무엇을 의미합니까? – AnoE

+0

map/production 인스턴스에서 코드를 수정했습니다. 즉, fork 된 인스턴스와 그대로 추가 된 모든 파일을 유지하려고합니다. 이러한 추가 파일은 zip/production에 없으므로 마스터와 완벽합니다. 이제 마스터에 대한 변경을했고 포크 된 인스턴스의 추가 파일에 영향을주지 않고 분기 된 인스턴스로 병합하려고합니다. – sunshine

관련 문제