부인, 내가 당신이 당신이 추출 하위 트리 충분한 정보를 제공하지 않는 git subtree push
를 사용하는 경우
:-) 하위 트리에 대한 learing 며칠 앞으로 당신의 생각 용의자 변경 사항을 적용하십시오.
리포를 올바르게 복제 한 경우 하위 트리가 이미 있습니다. 하위 트리에 푸시 할 하위 트리가 있는지 (심지어 하나만 가지고있을지라도) 알려야하며 푸시 할 위치를 알아야합니다. 특히 최상위 수준의 레포로 푸시하지 않으려 고합니다. 따라서 다음과 같은 것을 원합니다.
git subtree push --prefix=lib [email protected]:arges-github/lib.git master
분명히 repo와 refspec은 repo와 일치하도록 변경해야합니다.
여기에서 무슨 일이 일어나고 있는지 (그리고 도움이되는지) 살펴 보려면 하위 트리 내의 파일에 영향을주는 변경 사항을 실제로 다른 분기로 분할 한 다음 하위 트리 repo로 푸시합니다. ,
git checkout lib-changes
이 아닌 경우 수동으로
git push [email protected]:arges-github/lib.git master
그들을 밀어 : subtree split
git subtree split --rejoin --branch=shared-changes --prefix=lib
를 사용하여 이런 일이 보는 것은 당신이 만든 분기를 보라 그런 다음 하위 트리를 리포에 병합하지 않았을 수 있습니다. 당신이 하위 트리를 추가 할 때 :
git subtree add --squash --prefix lib [email protected]:arges-github/lib.git master
당신은 또한 하위 트리를 병합하여 최고 수준의 repo에 다시 밀어해야합니다.
최상위 프로젝트에 하위 트리를 어떻게 추가 했습니까? 디렉토리를 만들고 복제 했습니까? –
안녕하세요! "git subtree add"를 사용하여 최상위 프로젝트에 하위 트리를 추가했습니다. 어쩌면 나의 질문이 충분히 명확하지 않을 수 있습니다. 다른 컴퓨터에서 repo를 복제하면 모든 프로젝트 파일과 하위 트리 "lib"가 생깁니다. 이제 복제 된 저장소에서 하위 트리 "lib"내에서 뭔가를 변경합니다. "git subtree push"를 사용하여 원격 서버로 변경 사항을 다시 푸시 할 수 없습니다. 이것이 내 문제입니다. – arge
답변이 도움이 되었습니까? –