2017-02-02 3 views
1

Я пытаюсь вытащить все файлы и папки в определенной папке в моем репозитории git. Я уже пробовал использовать sparce-checkout, но это вытаскивает конкретную папку. Я хочу, чтобы он только вытаскивал файлы внутри папки.Как вытащить все элементы в папке specificc, расположенной на внешнем репозитории git

У меня есть папка с именем/EWINS /, и я хочу вытащить каждую папку и файл в этом каталоге.

Я попытался:

git init

git config core.sparseCheckout true

git remote add -f origin https://MYDIRECTORY

echo "EWINS/*" >> .git/info/sparse-checkout

git pull origin master

Однако это приводит к выталкиванию папки EWINS, когда мне требуются все элементы в EWINS. В частности, я не хочу папку EWINS, просто все элементы внутри нее.

Я мог бы теоретически указать каждый отдельный файл, который я хочу, и это будет работать, но мне придется редактировать сценарий каждый раз, когда добавляется новый элемент, который нужно управлять, и это не подходит.

я ссылка:

How do I clone a subdirectory only of a Git repository?

http://lakehanne.github.io/git-sparse-checkout

Любая помощь будет оценена.

Пример:

я получаю:

EWINS \ app.test, text.txt, note.pad

Я хочу:

app.test, text.txt , note.pad

ответ

1

A Git sparse checkout все еще использует рабочее дерево для восстановления его содержимого. Это означает, что вы всегда получите папку EWINS.

Моим обходным решением было бы сделать эту проверку в выделенной папке, а затем сделать зеркало-rsync с правой папкой (которая будет находиться вне репозитория Git, не управляемая Git вообще).

+0

Да, я беспокоился о том, чтобы сделать еще один шаг. Всегда можно было запустить два сценария, просто надеялся, что есть простой шаг, который мне не хватало. Я выберу это как ответ, если ничего не придумает. –

Смежные вопросы