Git push ветка из исходного хранилища в подпапку целевого хранилища - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь отправить ветку sourcebranch из исходного GIT-репозитория в подпапку целевого репозитория.Оба хранилища являются удаленными.

Из исходного репозитория я добавил пульт дистанционного управления к целевому репо с помощью следующей команды:

git remote add origin https://path-to-target-repo.git

И затем выдвинул ветку:

git push origin sourcebranch

Ноэто толкает его в корневую папку целевого хранилища, когда на самом деле я хочу поместить его в подпапку этого хранилища.

Будем признательны за любые указания.

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Git commit - это неизменный снимок версии всего проекта.Путь к каждому файлу в этом снимке одинаков для каждого репо, содержащего фиксацию.Вы могли бы попытаться обойти это, используя какую-то сумасшедшую схему, которая переписывает историю по мере того, как пуш завершается, но если бы вы могли заставить его работать вообще, результатом все равно был бы удаленный, который постоянно не синхронизирован с локальным (то есть выне смог бы толкать или тянуть чисто).

Есть два варианта, в зависимости от того, что вы пытаетесь достичь.

Если пульт содержит несколько проектов, которые вы хотите совместно использовать, но вы хотите изменить каждый проект по отдельности, то, вероятно, самое близкое, что вы можете сделать, - это создать отдельный пульт, похожий на ваш локальный, и затем нажатьи установите его как подмодуль или поддерево «более широкого» репозитория.

Если вы пытаетесь использовать git в качестве инструмента развертывания, а файлы просто не отображаются в правильном рабочем путизатем вы должны либо

(a) переключить пульт ДУ в репозиторий BARE, и использовать ловушки для выполнения операции chedkout, в которой вы указываете каталог дерева работы git, ИЛИ

(б) переместить корень рабочего дерева репо так, чтобы он был там, где вы хотите, чтобы он находился на сервере, ИЛИ

(в) [моя рекомендация] использовать надлежащий инструмент развертывания вместо того, чтобы заставить что-то делать pushэто не было действительно предназначено для

0 голосов
/ 05 июня 2018

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

mkdir mydirectory
git mv file1 file2 file3 mydirectory
git commit -m 'relocated files'
git push
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...