Я не знаю ни одного инструмента, который бы мог это сделать. Вы можете использовать go list -f '{{ .Imports }}'
или аналогичный, чтобы перечислить зависимости, которые вам нужны для любого данного пакета Go, и написать скрипт для загрузки только необходимых файлов. Но вам также нужно подумать о таких вещах, как шаблоны или файлы конфигурации, к которым ваши программы могут получить доступ.
В качестве альтернативы, и я не знаю, сработает ли это, вы можете попробовать смонтировать свой Git-репозиторий как FUSE-монтирование. Я нашел это в быстром поиске Google. Это позволит вам загружать нужные вам файлы по требованию, и, конечно, когда вы компилируете свою программу, она будет включать только необходимый код.