Присоедините ветку к другой, выполняя одинаковые команды на обоих - PullRequest
0 голосов
/ 29 мая 2020

Я часто делаю вот что:

[dev and master branches are on the same commit]
git checkout master
[do some minor fixes]
git add . & git commit-m"minor fix"
git push
git checkout dev
git rebase master
git push
git checkout master

Есть ли способ избежать части git checkout dev? Я представляю себе что-то вроде git checkout master & git attach master dev, что приведет к тому, что все команды, выполняемые на мастере, будут выполняться и в ветке dev (при условии, что они начинаются в одной и той же точке).

1 Ответ

0 голосов
/ 29 мая 2020

git branch -f dev master, как предлагается в комментарии, будет работать только в том случае, если вы хотите, чтобы dev находился в точно в том же коммите, что и мастер. Тогда просто запустите его сразу после git commit.

Если на dev есть что-то еще, что вы хотите сохранить, и вы действительно хотите перебазировать, используйте либо обычный bash псевдоним , либо git псевдоним:

$> git config alias.devattach '!git checkout dev && git rebase master && git push && git checkout master'

Выполнение git devattach выполнит все это за вас, останавливаясь всякий раз, когда одна из команд в канале дает сбой.

EDIT Вы не хотели этого параметризовано, поэтому:

$> git config alias.attach '!git checkout $2 && git rebase $1 && git push && git checkout $1'

Теперь git attach master dev делает то, что вы хотели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...