TGViewer
этогик // DevOps, Infrastructure, Productivity этогик // DevOps, Infrastructure, Productivity @etogeek · 4.38K subscribers
Post #350 3.85K
Пару постов назад я делился своим .zshrc файликом с алиасами и настройками ZSH. И в чате мне напомнили, что более сложные можно оборачивать в функции и даже скинули пример для git add/commit/push одной командой (спасибо, Саша!).

Я его немного допилил:
- добавил возможность писать без кавычек несколько слов, чтобы они улетали как commit message
- проверку, что ты коммитишь НЕ в master/main ветку

Получилось очень удобно, теперь я просто в терминале пишу gacp Update Nginx configs, вместо череды из git add, git commit -m, git push (хотя эти команды уже где-то в подкорке сидят).

Вот код функций, там я утянул еще из oh-my-zsh шаблонов одну:
function git_current_branch() {
local ref
ref=$(git symbolic-ref --quiet HEAD 2> /dev/null)
local ret=$?
if [[ $ret != 0 ]]; then
[[ $ret == 128 ]] && return # no git repo.
ref=$(git rev-parse --short HEAD 2> /dev/null) || return
fi
echo ${ref#refs/heads/}
}

gacp() {
if [ -z "$1" ]; then
echo "Commit message required"
return 1
fi

local branch=$(git_current_branch)

if [[ "$branch" == "master" || "$branch" == "main" ]]; then
echo "You are on branch '$branch'"
read "REPLY?Commit to $branch? (Y/n) "
if [[ $REPLY =~ ^[Nn]$ ]]; then
echo "Commit cancelled"
return 1
fi
fi

git add -A
git commit -m "$*"
git push origin "$(git_current_branch)"
}

Как обычно код можно посмотреть у меня в репозитории, вот ссылка.
  • 👍 24
  • 🔥 12
  • ❤ 4
More from @etogeek
  1. Sep 4, 2026Баланс в EdTech Подписан на канал Mischa van den Burg и там недавно вышло видео, где автор…
  2. Aug 31, 2026Чтобы немного подвести итог серии постов про бекапы (раз и два), расскажу как я ими управл…
  3. Aug 25, 2026Мониторинг бекапов В прошлый раз я говорил про PITR-бекапы для PostgreSQL, теперь хочу нем…
  4. Aug 21, 2026Про бекапы. Хочу немного поделиться своим опытом в нескольких постах. Это больше информаци…
  5. Aug 13, 2026Когда я преподавал в Практикуме (был такой период, да. еще и видео снимал), студенты часто…
  6. Jun 25, 2026Некоторое время назад столкнулся с тем, что какой-то сервис отправил мне огромное количест…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →