Возможно, немного попутно, но точка зрения этого сайта может помочь понять общую тему удаления веток:
Кое-что из того, что уже обсуждалось здесь, частично совпадает, но основное внимание уделяется уборке: удалению веток, удаленных и локальных, которые больше не нужны. в среде сотрудничества. В частности, команда git branch --merged
идентифицирует ветки, которые можно безопасно удалить из-за их слияния с вашей основной веткой (или любой другой веткой, которая вас интересует). Если вы сотрудничаете, некоторые причудливые мини-скрипты, такие как этот, будут представлять вещи в удобном, удобоваримом формате с датами и авторами.
for branch in `comm -12 <(git branch --merged|awk '{print($1)}') <(git branch -r --merged|awk '{print($1)}'|awk -F \/ '{print($2)}')`; do echo -e `git show --format="%ci %cr %an" $branch | head -n 1` \\t$branch; done | sort -r
(К сожалению, «приятный, удобоваримый» не относится к форматированию самих скриптов.)
Использовать подоболочку
(whoami; date) > ~user/directory/file
Этого можно добиться с помощью одного перенаправления с помощью команды echo/printf и подстановки команд:
printf '%s\n' "$(whoami)" "$(date)" > /home/user/folder/file
ИМО, это не очень хорошее решение, оно не очень удобно для чтения/управления... особенно если добавить больше команд.
Чтобы не вводить путь несколько раз, вы можете просто сохранить его в переменной:
file=/home/user/folder/file
whoami>"$file"
date>>"$file"
Но для этого также требуется несколько перенаправлений.
Если вы хотите написать длинный сценарий или подмножество команд и выполнить для них одно перенаправление, вы можете использовать группировку команд:
{
whoami
date
} > /home/user/folder/file
Или в одну строку:
{whoami;date;} > /home/user/folder/file