2016-03-29 15 views
0

Общей частью моей работы является:Один мерзавец команду, чтобы создать новую локальную ветку, нажмите на происхождение, отслеживать происхождения

git checkout -b new_branch origin/master 
git push origin new_branch 
git branch --set-upstream-to origin/new_branch 

Есть ли способ, это может быть сводились к одной команде? Я хотел бы быть в состоянии создать псевдоним, так что это может быть сделано с чем-то быстро набрать такие как:

gitnew new_branch parent_branch 

Раствор Баш является приемлемым, но было бы здорово, если бы это было чисто мерзавец.

ответ

2

Is there a way this could be boiled down to one command?

Да, добавьте && между каждой команды

git checkout -b new_branch origin/master && 
git push origin new_branch && 
git branch --set-upstream-to origin/new_branch 

На одной линии


git alias

Вы можете использовать ГИ t, чтобы определить этот набор команд.

git config --global alias.newb "!f(){ git checkout -b $1 origin/$2 && git push origin &1 && git branch --set-upstream-to origin/$1 };f" 

$ 1 = имя новой ветви
$ 2 = имя родительской ветви

Как использовать:

git newb new_branch_name master 
+0

Вы не возражаете, заменив другие экземпляры new_branch с $ 1? Кроме того, нужны ли котировки, которые у вас есть за первые $ 1? –

+0

Его просто образец, чтобы показать вам, как это сделать. Вам действительно не нужны кавычки. Они есть, если у вас будут пробелы – CodeWizard

+0

Получение ошибки: расширение псевдонима 'newb' не удалось; 'find' не является командой git –