Ответ 1
Если вы не возражаете против создания ветки под названием temp
, вы можете просто сделать следующее на master
:
git commit -a -m 'more work done'
git fetch origin
git rebase origin/master
... или эквивалентно:
git commit -a -m 'more work done'
git pull --rebase origin master
Если вы хотите сохранить ветвь temp
, однако, вы все равно можете сделать это немного короче, не проверяя master
только для pull
- вам нужно только fetch
, а затем переустановить ваша ветка на origin/master
:
# work work work...
$ git checkout -b temp
$ git commit -a -m 'more work done'
$ git fetch origin
# It looks like origin/master was updated, so:
$ git rebase origin/master
# Then when you finally want to merge:
$ git checkout master
$ git merge temp
$ git push origin master
$ git branch -d temp
ответьте, напоминает, что вы можете заменить:
$ git fetch origin
$ git rebase origin/master
... с:
$ git pull --rebase origin master
..., что почти эквивалентно. Разница заключается в том, что при запуске git fetch origin
все ваши ветки удаленного отслеживания для origin
будут обновляться, тогда как при выводе определенной ветки из origin
ни один из них не будет - это просто временный ref FETCH_HEAD
, который обновляется. Я лично предпочитаю запускать одну дополнительную команду (git fetch origin
) и просмотр всех удаленных ветвей, которые были изменены на выходе.