Как запустить скрипт, генерирующий файл в другой ветке? - PullRequest
1 голос
/ 13 июля 2020

Сейчас я пытаюсь запустить скрипт в репо в master branch. Я хочу, чтобы вывод этого скрипта (html файл) был go в другую ветку с именем output-branch.

Есть ли команда, которая позволяет мне сделать это?

Ответы [ 3 ]

0 голосов
/ 14 июля 2020

Напишите в скрипте просто:

git checkout output-branch

, прежде чем сгенерировать html -файл.

0 голосов
/ 14 июля 2020
Команды удобства

Git построены на обычном однопользовательском рабочем процессе с единой проверкой.

Его основные команды ... не так ограничены. То, о чем вы просите, легко.

outputid=$(myscript | git hash-object -w --stdin)
treeid=$(echo 100644 blob $outputid$'\t'script-output | git mktree)
branchnow=$(git rev-parse -q --verify output-branch)
git update-ref refs/heads/output-branch  $(
        git commit-tree ${branchnow:+-p $branchnow} -m 'script output' $treeid
)

Первая строка - это «добавить результат myscript в репо и сохранить его идентификатор».

Вторая - «сделать путь к этому добавленному содержимому и сохраните идентификатор этого каталога "

Третий -" проверьте, есть ли уже история "

Четвертый и остальные, в частности, используйте модификатор расширения :+, проверьте переменная, и если в ней что-то есть, расширьте до того, что я здесь привожу, поэтому ${branchnow:+-p $branchnow} заменяется на ничто, если нет существующей истории веток, или -p $branchnow, если уже есть история. commit-tree и update-ref делают именно то, что они делают: возвращают идентификатор для вновь созданной фиксации созданного вами моментального снимка и (повторно) навешивают метку кончика ветки output-branch на эту фиксацию.

0 голосов
/ 13 июля 2020

Вы можете запустить сценарий, получив его содержимое с помощью команды curl -sfL на лету, а затем запустить его исполнителем. Во-первых, вам нужен необработанный формат файла, найдя файл на Github или где-то еще, а затем нажмите кнопку raw просмотра на странице.

См. Следующий пример для bash скрипта:

bash -l -c "$(curl -sfL https://raw.githubusercontent.com/bitrise-tools/codesigndoc/master/_scripts/install_wrap.sh)"
...