Git commit - это неизменный снимок версии всего проекта.Путь к каждому файлу в этом снимке одинаков для каждого репо, содержащего фиксацию.Вы могли бы попытаться обойти это, используя какую-то сумасшедшую схему, которая переписывает историю по мере того, как пуш завершается, но если бы вы могли заставить его работать вообще, результатом все равно был бы удаленный, который постоянно не синхронизирован с локальным (то есть выне смог бы толкать или тянуть чисто).
Есть два варианта, в зависимости от того, что вы пытаетесь достичь.
Если пульт содержит несколько проектов, которые вы хотите совместно использовать, но вы хотите изменить каждый проект по отдельности, то, вероятно, самое близкое, что вы можете сделать, - это создать отдельный пульт, похожий на ваш локальный, и затем нажатьи установите его как подмодуль или поддерево «более широкого» репозитория.
Если вы пытаетесь использовать git в качестве инструмента развертывания, а файлы просто не отображаются в правильном рабочем путизатем вы должны либо
(a) переключить пульт ДУ в репозиторий BARE, и использовать ловушки для выполнения операции chedkout
, в которой вы указываете каталог дерева работы git, ИЛИ
(б) переместить корень рабочего дерева репо так, чтобы он был там, где вы хотите, чтобы он находился на сервере, ИЛИ
(в) [моя рекомендация] использовать надлежащий инструмент развертывания вместо того, чтобы заставить что-то делать pushэто не было действительно предназначено для