Нет и да.То есть вы можете установить это, но оно не будет делать то, что вы хотите, что бы это ни было.
A remote - это просто короткое имя, которое действует какключ:
origin
=> remote.origin.url
, remote.origin.fetch
xyz
=> remote.xyz.url
, remote.xyz.fetch
и так далее.Вы можете установить url для каждой такой клавиши на что угодно: https://example.com/path/to/repo
или /local/path
или jellybeans
или что угодно, но вещи, которые используют это значениеgit fetch
, git push
и git ls-remote
.Все они связываются с другим репозиторием Git по указанному URL и передают коммиты (не файлы) туда-сюда или, в случае git ls-remote
, сообщают вам, какие коммиты и имена веток доступны.
Так как git fetch
и git push
передают полные коммиты , файлы приходят вместе с коммитами для поездки, но у них есть имена, которые вы дали им в коммитах .
Однако вы можете делать коммиты, содержащие только файлов в Project1
.Проверка такого коммита удалит всех Project2
и Project3
файлов, а затем проверка коммита, содержащего все файлы, вернет всех Project2
иProject3
файлов.Но когда вы запускаете git push
или git fetch
, вы, скорее всего, будете отправлять и получать коммиты, содержащие все файлов вместе с коммитами, которые содержат только Project1
файлытак что это, вероятно, не очень хорошая идея.
Если вы храните каждый проект в отдельном репозитории Git, это, вероятно, даст вам то, что вы хотите.Хотя я обычно рекомендую избегать подмодулей, вы можете сделать каждый из этих репозиториев подмодулем одного суперпроекта , который ничего не делает, кроме как координирует все подмодули;этот конкретный путь работоспособен.