2015-06-24 4 views
1

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

  1. мерзавец фотография
  2. получить выборки -a
  3. мерзавец перебазироваться происхождения
  4. мерзавец толчок происхождения

выше последовательность предполагает, что не было никаких конфликтов слияния (это мой дело).

Но в любом случае этот процесс не полностью succeeed:

1) Извлекает филиал ..

$git checkout coresql 
Already on 'coresql' 

2) выборка работ ..

17:11:40/ysgood $git fetch -a 
remote: Counting objects: 24, done. 
remote: Compressing objects: 100% (9/9), done. 
remote: Total 24 (delta 5), reused 23 (delta 4), pack-reused 0 
Unpacking objects: 100% (24/24), done. 
From jgithub:/Mycompany/ys 
    548347b..4975c4f coresql -> origin/coresql 

3) перебазироваться делает не Выполнение правильной вещи: есть изменения в туловище, которые здесь не отражаются (?)

17:11:51/ysgood $git rebase origin coresql 
Already on 'coresql' 
Current branch coresql is up to date. 

4) Таким образом, то, естественно, толчок терпит неудачу, учитывая, что изменения ствол не были должным образом интегрированы в местную

17:12:23/ysgood $git push origin coresql 
To [email protected]:/ThirdEyeCSS/yardstick-spark 
! [rejected]  coresql -> coresql (non-fast-forward) 
error: failed to push some refs to '[email protected]:/Mycompany/ys' 
hint: Updates were rejected because the tip of your current branch is behind 
hint: its remote counterpart. Integrate the remote changes (e.g. 
hint: 'git pull ...') before pushing again. 
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

Так почему бы принести мерзавец -a/мерзавца перебазироваться не работал должным образом?

ответ

2

git rebase ожидает филиал, а не удаленный:

git rebase origin/coresql 

Если вы используете версию два аргументов перебазироваться, он определяет из какой отрасли и какая отрасль перебазироваться, в основном делает git checkout SECOND && git rebase FIRST.

Вы также можете использовать git pull --rebase origin coresql вместо fetch + rebase.

+0

Я не могу отслеживать, когда использовать репо/филиал и когда ветвь репо. любые подсказки? – javadba

+0

@javadba 'remote branch' предназначен для команд, которые обращаются к удаленным (' pull', 'push' и' fetch'), 'remote/branch' для команд с использованием локального кеша. – StenSoft

+0

THX для этого понимания – javadba

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