Два разных репозитория Git в том же каталоге
Я хочу поддерживать два разных репозитория git. Репозиции должны оставаться в одном корневом каталоге. Как его достичь?
Я хочу: управлять двумя репозициями, которые немного отличаются. Могу ли я иметь два совершенно разных репозитория в одной папке?
Спасибо за заботу:)
Ответы
Ответ 1
Это можно сделать, добавив один из этих двух параметров в команду git:
git --work-tree=where/my/code/is --git-dir=some/path/to/my/.git status
Это позволит вам иметь 2 отдельных репозитория, имеющих общую рабочую папку.
Однако вы должны иметь возможность получить то, что вам нужно, используя одно репо с несколькими ветвями и, возможно, только нажимать определенные ветки на несколько пультов.
Ответ 2
Я решил эту проблему, которая git, похоже, не дает хорошего решения, не используя git для ее решения. Я использовал каталог junction, чтобы связать новую подпапку с подпапкой родительской папки (т.е. привязать дочернюю папку к папке "дядя": P). Пример в командной строке для Windows Vista и выше:
cd CurrentFolder/
mklink /J "LinkedFolder" "../TargetFolder"
приведет к тому, что LinkedFolder укажет на TargetFolder (note). Пример структуры файла, который я использовал бы тогда:
- корень /
- TargetFolder/
- CurrentFolder/
"Операционные системы, совместимые с POSIX", как представляется, используют ln
или ln -s
для этой функции.
Он отлично работает (обратите внимание: следующее из моего тестирования Windows 8.1):
- LinkedFolder не существует до вызова
mklink
- когда вы делаете ссылку, все, что вы делаете с файлами в TargetFolder или LinkedFolder, будет отражено в другом, поскольку они являются одним и тем же
- если вы удалите ссылку (LinkedFolder), ничего не происходит с фактической целевой папкой (TargetFolder)
- Если вы удалите фактическую целевую папку (TargetFolder), ссылка останется активной (она не будет удалена); если вы попытаетесь получить доступ к ссылке, вы просто получите сообщение об ошибке; если вы снова заново создадите целевую папку (TargetFolder), ссылка продолжит работу по-прежнему!
Надеюсь, это поможет кому-то. Я только что узнал об этой функции, и мне это нравится.
Смотрите также:
точка соединения NTFS
Символьная ссылка NTFS
Символическая ссылка