Git tips
Переключение и обновление главной ветки
В работе с git часто приходиться переключаться в главную ветку, обновлять ее и затем уже проводить дальнейшие операции. Проблема в том, что если ранее все главные ветви назывались master, то теперь это не так и в ряде репозиториев есть главные ветви с именем main. Запоминать проблематично. Для упрощения работы создал себе скрипт git-m:
#!/usr/bin/env fish
git switch (git main-branch)
git pull --rebase
И теперь достаточно вызвать команду git m для переключения в главную ветку, с каким именем она бы не была, и дальнейшее ее обновление.
Push на несколько серверов
По умолчанию задается один origin сервер, который используется и для отслеживания изменений и для передачи изменений на него. Но можно задать несколько ссылок для того, чтобы отправлять изменения сразу в несколько remote-серверов.
По умолчанию:
$ git remote -v
origin git@github.com:juev/dotfiles.git (fetch)
origin git@github.com:juev/dotfiles.git (push)
Определяем ссылки для push:
git remote set-url --add --push origin git@github.com:juev/dotfiles.git
git remote set-url --add --push origin git@git-ssh.evsyukov.org:juev/chezmoi.git
Проверяем:
$ git remote -v
origin git@github.com:juev/dotfiles.git (fetch)
origin git@github.com:juev/dotfiles.git (push)
origin git@git-ssh.evsyukov.org:juev/chezmoi.git (push)
Теперь pull будет проводиться с GitHub, а push сразу на оба сервера.