2015-11-13 3 views
0

Допустим, у меня есть два проекта в синхронизации с онлайн РЕПО:Как клонировать один файл с помощью SourceTree?

  • проект - состоящий из файлов A1, A2, A3 (репо-A)
  • Project - B, состоящий из файлов B1, B2, B3 (repo-B)

Теперь, если мне нужен A2 в Project-B, как мне клонировать, используя SourceTree, только файл A2 из repo-A в Project-B?

+0

Можете ли вы не просто скопировать его из файловой системы. Поскольку онлайн-репозиции разные, вы хотите клонировать, это мой вопрос. – 82Tuskers

+0

@ 82Tuskers Сейчас я копирую его из файловой системы. Я думал о клонировании, потому что хочу отслеживать A2. Если кто-то вносит какие-либо изменения в A2 (через Project-A) и нажимает на repo-A, я должен иметь возможность извлекать эти изменения во время работы над Project-B. – user2979010

+0

@ 82Tuskers могут быть клонами - неправильная терминология. Я просто хочу вытащить изменения на A2 в Project-B и не удалять изменения от проекта-B до A2 (repo-A) – user2979010

ответ

1

Я думаю, что решение может заключаться в использовании git-подмодулей. Ref: https://git-scm.com/docs/git-submodule

Субмодулы помогут вам установить еще одно репо с существующим репо. Единственный (возможный) недостаток, который я вижу, это то, что он создаст папку, которая содержит подпроект (в папке вашего дела A в папке B). Я думаю, это не должно быть проблемой.

ШАГИ:

  1. (Убедитесь, что ваш каталог мерзавец проекта чист, так как мы используем git reset HEAD ниже)
  2. кд пути/к/основному проекту
  3. мерзавца подмодуль добавить
  4. прикосновения. gitignore
  5. Добавьте имя папки проекта подмодуля в файл. Например, если ваша папка подмодуля «a», то добавьте a/*.
  6. git reset HEAD
  7. Вы должны видеть .gitmodules и .gitignore, когда вы запускаете git diff.
  8. Зафиксируйте эти файлы.

ИСПОЛЬЗОВАНИЕ: Если вы хотите обновить подпроект только cd в него, а затем запустить git fetch и git pull (обычные операции, чтобы вытащить из удаленных) в папку подпроекта.

Надеюсь, это поможет.

+0

@ 82Tuckers Спасибо. Я думаю, что вложенность git - единственный путь вперед. – user2979010

+0

@ 82Tuckers Поскольку простых решений нет, теперь я думаю, что вытащить один файл в другой проект может не быть популярным среди разработчиков? – user2979010

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