2016-11-14 1 views
1

내에서의 repos의 독특한 지점을 만드는 방법 내가 REPOS 내에서 여러 가지의 repos 있습니다.
repo3에서 여러 가지를 만들고 싶습니다. 내가 repo2에 REPO, 즉 다시 이동하고 git branch을 수행 할 때, 그것은 나에게 repo2 및 repo3 모두에있는 모든 가지를 보여줍니다. 하지만 내가 원하는 것은 repo에 고유 한 분기를 만들 수 있으며이 분기는 repo2에 나타나서는 안됩니다. 의 repos

이 그림

내가 원하는 방법을 보여줍니다

repo1/ repo2/ repo3 
      |  | 
      |  | 
      |  |_ _ _branchX, branchY, branchZ, branchK 
      | 
      | 
      branchA, branchB, branchC 
+1

당신은 여기에 얼마나 많은 실제'.git' 파일이 있습니까? –

+0

.git 파일은 repo1에만 있습니다. – Deke

+0

Git 서브 모듈을 사용하십시오. 이것은'repo2' 내부에 서브 모듈'repo3'를 나타내는 가지가있을 것입니다. 'repo3' 안에는 모든 브랜치가 보입니다. 하위 모듈에 대한 정보는 –

답변

0

이 내가 마지막으로했던 방법입니다 : 나는 각각의 repo에서 git init. 그런 다음 해당 repo에 대한 새 지점을 만들었습니다. 내가 repo를 옮기고 git branch을했을 때, 그것은 현재의 repo 안에 존재하는 가지만 보였다.

네,하지만 그것은 또한 중첩의 repo에 대한 gitlink (A special entry in the index를) 등록 ... 중첩 REPO 원격 URL을 회원 가입없이.
그래서 repo2 새로운 커밋을 만들고 그들을 밀어 때, repo1 새로운 repo2의 SHA1 (gitlink)를 등록합니다,하지만 SHA1이 (원격 환매 특약 URL)에서 오는 위치를 알 수 없습니다. repo1 초기화 다시 repo1repo2 않음 (repo3)

적절한 방법으로 발생할 것이다
복제가 repo2 따로 초기화 repo3을 가짐으로써, 즉이다 이렇게 설정

cd /path/to/repo2 
git submodule add -- /url/repo3 
git add . 
git commit -m "Add repo3 as submodule" 
git push 

cd /path/to/repo1 
git submodule add -- /url/repo2 
git add . 
git commit -m "Add repo2 as submodule" 
git push 

A는 git branch은 현재의 repo에 대한 가지를 보여줍니다 repo1, 2 또는 3에서 수행.