2017-12-20 73 views
2

나는 소프트웨어 벤더 회사에서 일하고있다. 우리 팀은 클라이언트의 자식 저장소에 코드를 제출해야하며 코드를 제출하기 전에 코드 검토를 수행해야합니다.이 흐름을 설정하려면 상위 프로젝트 디렉토리를 여러 자식 저장소로 지정하고 싶습니다.복수의 자식 저장소를 가리키는 단일 디렉토리

osx의 같은 디렉토리에 두 개의 자식 저장소를 어떻게 설정할 수 있습니까? git 도구로 sourcetree를 사용하고 있습니다.

+0

[자식 서브 모듈] (https://git-scm.com/book/en/v2/Git-Tools-Submodules)이 필요합니다. – Arount

+0

I (와 현재의 대답)가 이것을 이해하고 있기 때문에, "같은 디렉토리에있는 여러 저장소"가 아니라는 것에주의하십시오. 여러 개의 리모컨에 연결되는 하나의 (로컬) 저장소입니다. 이것은 git의 주류 사용 패턴입니다. "같은 디렉터리에 두 개의 저장소가 있습니다"라고 말하면 두 로컬 리포지토리가 작업 트리 디렉터리를 공유하기를 원합니다.이 디렉터리는 상당한 노력으로 설정할 수 있지만 실제로는 좋은 아이디어는 아닙니다. –

+0

답변을 통해 문제를 해결하는 데 도움이 되었습니까? 그렇다면 답변으로 표시 할 수 있습니다. 또한 비슷한 질문을하는 사람들에게도 도움이 될 것입니다. –

답변

3

하나의 리모콘에 여러 개의 푸시 URL을 설정할 수 있습니다.

원산지는 자식 프로젝트에 기본적으로 원격 :

git remote -v 
origin [email protected]:group1/project.git (fetch) 
origin [email protected]:group1/project.git (push) 

그런 다음 당신은 원격에 더 많은 푸시 URL을 추가 할 수 있습니다.

git remote set-url --add --push origin [email protected]:test/project.git 

이제 두 개의 (푸시) URL과 하나의 (페치) URL을 표시해야합니다. 다음과 같이 : git remote -v 출처 [email protected] : group1/project.git (가져 오기) 출처 [email protected] : group1/project.git (푸시) 출처 git @ git @ git.other.es : test/project.git (push)

이 리모컨을 누르면 업스트림을 모두 동시에 푸시합니다. 이 리모컨에서 가져 오기 및 가져 오기는 원래의 저장소에서 계속 가져옵니다.

또한 원래 원격 (원)을 유지하고 다른 리모컨을 만들고 모두 저장소 밀어하는 데 사용할 수 있습니다 :

git remote add both 
git remote set-url --add --push both 
[email protected]:group_1/project.git 
git remote set-url --add --push both [email protected]:test/project.git 

을 그리고 당신의 원격 구성은 다음과 같습니다

git remote -v 
origin [email protected]:group1/project.git (fetch) 
origin [email protected]:group1/project.git (push) 
both [email protected]:group1/project.git (fetch) 
both [email protected]:group1/project.git (push) 
both [email protected]@git.other.es:test/project.git (push) 

그리고 지금을 당신은 다른 상황에서 어느 리모콘을 사용할지 결정할 수 있습니다.