Как @ Will-Vousden СУГ gests, можно было бы написать сценарий оболочки для этого. Например:
#!/bin/bash
git commit -a -m "$1"
git checkout master
git merge work
git checkout work
, который вы могли бы назвать как:
$ git-commit.sh "Commit message in quotes"
Однако этот подход (или ваш собственный псевдоним) легко может потерпеть неудачу, если есть, например, совмещенная конфликт:
$ git-commit.sh "Commit message in quotes"
[work 1a6e17f] Commit message in quotes
1 file changed, 1 insertion(+), 1 deletion(-)
Switched to branch 'master'
Auto-merging file.txt
CONFLICT (content): Merge conflict in file.txt
Automatic merge failed; fix conflicts and then commit the result.
file.txt: needs merge
error: you need to resolve your current index first
оставляя вас в главной ветке с неразрешенным конфликтом слияния.
Возможно, вы можете добавить некоторую логику в скрипт, чтобы обнаруживать и, возможно, работать вокруг - такие проблемы, но это звучит намного больше работы и усилий, чем просто запуск четырех отдельных команд!
http://stackoverflow.com/q/7534184/1615903 – 1615903