Как синхронизировать несколько папок репозитория GitHub в одном AzureGit с помощью процесса компакт-диска Azure CI - PullRequest
0 голосов
/ 17 декабря 2018

Я новичок в Git.У меня есть публичное репо в GitHub, которое я люблю синхронизировать с моим Azure Git.Сценарий, как показано ниже

GitHub имеет несколько папок и файлов без родительской папки.Я хочу, чтобы эти папки, файлы копировались в мой Azure Git с использованием процесса CI CD Azure только в родительской папке.

Я пытался изобразить на прилагаемой диаграмме. Git Process

Как мне этого добиться?Фрагмент кода поможет мне лучше, так как я новичок в Git.

Примечание. Мне нужно использовать процесс компакт-диска Azure CI, поэтому у меня не будет постоянного места, где я мог бы разместить код / ​​ветви.Он всегда будет работать в Build Agent, который будет меняться при каждом выполнении.

1 Ответ

0 голосов
/ 18 декабря 2018

Поскольку я использую процесс компакт-диска Azure CI, мне не нужно по крайней мере извлекать исходный код.Его обрабатывает конвейер Build.Далее следуют несколько шагов, которые я сам выполнил (много проб и ошибок), чтобы справиться с ситуацией, упомянутой в вопросе.

По сути, я переместил содержимое исходного репозитория (содержимое репозитория GitHub) в папку ( Родительская папка "Y" ) с тем же именем, что и у Родительская папка в целевом Azure Git.А затем отправил содержимое этой вновь созданной папки.

  1. robocopy $ (System.DefaultWorkingDirectory) $ (Agent.WorkFolder) \ Родительская папка Y \ / e /move

Эта Родительская папка Y - это имя родительской папки, под которым я хотел отправить изменения в моем Azure Git (Destination).

robocopy $ (Agent.WorkFolder) \ Родительская папка Y $ (System.DefaultWorkingDirectory) \ Родительская папка Y \ / e / move

cd $ (System.DefaultWorkingDirectory) \ " Родительская папка Y "

git pull https://$(token)@xyzteam.visualstudio.com/_git/Your_Repo _Name BranchName

git push https://$(token)@xyzteam.visualstudio.com/_git/Your_Repo _Name head: BranchName

...