Percorrendo o tutorial do SubModule , criei um submódulo fora do projeto boto . Então, descobri que, na verdade, preciso apenas de um subconjunto deste projeto - especificamente, a pasta boto .
Eu gostaria de mudar meu submódulo para apontar para esta pasta. Quando eu olho em módulos .git, eu vejo
[submodule "backup/src/boto"]
path = backup/src/boto
url = https://github.com/boto/boto.git
Qual URL devo usar em vez de https://github.com/boto/boto.git ? Depois de alterar o URL, devo excluir a pasta boto localmente e puxar novamente?
git
git-submodules
ripper234
fonte
fonte
git subtree
Respostas:
Receio que a URL para submódulos sempre aponta apenas para o repositório - você não pode especificar que deseja apenas uma subpasta de um repositório, da mesma forma que o git não suporta "clones estreitos" em geral.
Se você não consegue conviver com o repositório inteiro como um submódulo, você sempre pode criar um novo repositório que é clonado do boto e, em seguida, configurar um cron job para:
git fetch
aquele repositório em um diretóriogit filter-branch
para atualizar uma ramificação em que o subdiretório está no nível superior.fonte
Você não pode clonar apenas uma parte de um repositório. Isso ocorre porque o git trata o repositório como um objeto inteiro: quando você o obtém, obtém tudo .
Portanto, a solução aqui seria buscar o submódulo em outro diretório e, em seguida, usar um link simbólico para atingir seu objetivo.
fonte
ln -s
como no Linux)O que você quer fazer é criar um branch no submódulo e mover a pasta para cima e deletar o que você não precisa. Em vez disso, você pode gerenciar essa ramificação. Se você deseja enviar suas alterações, você deve ser capaz de voltar a mesclar primeiro. O Git saberá que você moveu os arquivos e fará a fusão com sucesso.
Espero que isto ajude.
fonte