나는 여러 디렉토리가있는 큰 프로젝트가 하위 트리으로 있습니다.git 다른 메인 저장소에 하위 디렉토리를 푸시
내가 원하는 특정 하위 트리의 변경 사항을 별도의 저장소 인 해당 원본으로 푸시합니다.
문제가되는 것 같습니다만, 현재는 서브 트리 원래는 리포지터리 (repository)에서 온 것이 아니고, 밀어 넣고 싶습니다. 그것은 다른 repo에서 왔는데, 서브 트리 가이드으로 찾았습니다. 그냥 비슷하게 보입니다.
큰 프로젝트 레이아웃, important_subtree
은 내가 걱정하는 것입니다.
~/devel/bigproject
.git/
some_subtree/
other_subtree/
important_subtree/
abc.txt
efg.txt <--- new version
hij.txt
그리고 important_subtree
그 REPO에 "강하게 관련"되어
~/devel/important
.git/
abc.txt
efg.txt <--- old version
hij.txt
지금
~/devel/bigproject/important_subtree/efg.txt
변경하고 나는 REPO
~/devel/important
위에 important_subtree를 밀어
싶다. 그래서 나중에 ~/devel/important/efg.txt
도 변경되었습니다.는 내가하고 관리하는 유일한 것은 내가 원하는 분명하지 않은, 중요한에 bigproject 에 푸시 모든을 추진하는 것입니다. 하위 트리의 변경 사항 만 밀어 넣어야합니다.
매력이 있습니다. 'YOUR_SUBDIR'가 재 작성된 repo의 루트 디렉토리가 될 것임을 언급해야합니다 (정확하게 원하는 것입니다). 또한, 나는'푸시'를 이해하지 못한다 : 내 새로운 원격 URL? 왜 -f (강제)인가? "." 여기서 말하는거야? 나는 네 푸시를 재현 할 수 없었다. 그래서 나는'cd ..; git clone'- 완벽합니다. –
towi
푸시는 추출 된 파일을 새 리모컨에 추가하는 것입니다. 편집이 더 명확한가요? – jeremyjjbrown
"the"new remote? 나는 역사가 다시 쓰여졌 기 때문에 다시 작성한 repo를 현재 리모컨으로 푸시 할 수 없다고 말한 것 같습니다. 그래서 새로운 repo (베어, 서버에 무엇이든)를 초기화하고 거기에 재 작성을 푸는 것이 가장 좋습니다. – towi