2013-08-07 2 views
3

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

1. git checkout patch; git pull upstream patch; # make sure we're up-to-date 
2. git checkout -b issue-435-db-integrity-exception 
3. # code some awesome 
4. git commit -am "Fixes issue #435" 
5. git push -u origin issue-435-db-integrity-exception 

Затем мы открываем запрос нагрузочный от origin/435 к upstream/patch , так что обзор кода может состояться на GitHub/Bitbucket. Затем мы только начинаем с шага №1.

Но, хотя это может показаться немного плаксивый, было бы здорово, если бы мы не должны явно назвать удаленную ветку, мы хотим создать:

git push -u origin issue-435-db-integrity-exception 

Это не очень весело чтобы снова набирать имя ветки, и я не согласен с ее изменением только на 435 или что-то более компактное.

Есть ли способ (1) заставить Git нажимать текущую ветвь на аналогичную ветвь, , создавая ее, если необходимо, не называя ее явно? Не глобально, просто на месте вид флага.

Или это возможно (2) доступ к текущей ветви в псевдоним Git, и написать что-то вроде:

[alias] 
    pnew = push -u origin $(git symbolic-ref --short HEAD) 

(Но это не работает - он считает, что вариант --short предназначен для push)

ответ

6

Вы можете использовать следующее:

# For Git 1.8.5+ 
git push origin -u @ 

# For older versions of Git 
git push origin -u HEAD 

С помощью @ или HEAD, Git вытолкнет текущую выписную ветвь до origin, и если ветка еще не существует на origin, она ее создаст.

Итак, в вашем примере, если вы выбрали issue-435-db-integrity-exception, то git push origin @ сделает новую ветку с тем же именем на origin.

+0

Отлично, спасибо! –

+2

@CraigOtis вы могли бы даже сделать это в псевдоним, если хотите, что-то вроде 'git config -global alias.magic 'push origin -u head" ', тогда использование будет' git magic'! –

+1

Использование '@' для меня не работает, но 'head' работает. Может быть, что-то изменилось – Dineshs91

Смежные вопросы