2016-06-06 7 views
-1

Скажем, у меня есть ветка старой, которая стоит несколько тысяч.Как я могу эффективно обновлять филиалы? (pull with rebase)

$ git branch -v 
* main [ahead 2] whatever 
    old [ahead 1, behind 3733] something else 

Для того, чтобы довести его до настоящего времени я должен:

  1. git checkout old, который приносит свою рабочую копию несколько тысяч коммитов за
  2. git pull -r, что означает
    1. git fetch
    2. git checkout origin/HEAD, который приносит мой рабочий каталог forwar d тысячи фиксаций, вероятно, рядом с которой я должен был начать с
    3. git cherry-pick $commit-id, который повторно применяет мой something else совершить

Есть встроенный способ оптимизировать этот рабочий процесс так, что у меня нет вернуться и переслать и проверить тысячи изменений файла только для того, чтобы отменить их спустя несколько секунд?

ответ

1

Вы пытаетесь что-то вроде этого:

#forcefully replace old branch with the latest origin changes 
git branch -f old origin/old 
# switch to it 
git checkout old 
# bring the "something else" commit 
git cherry-pick [email protected]{1} 

Однако, это не очень хороший подход, и работает только для одного коммита.

Не знаете, зачем вам это нужно, действительно ли это медленная проверка старых ветвей? Обычно занимает несколько секунд.

+0

Да, это медленно, или я бы не спросил об этом в первую очередь :), но я могу себе представить, что rebase поверх текущей ветки, за которой следует git branch -f, будет работать – badp

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