2015-09-07 2 views
-2

UPDКак просмотреть изменения в ветке, которые еще не находятся на главном сервере?

  1. создать хранилище (ForkPoint)
  2. создать филиал
  3. сделать некоторые совершают расшириться
  4. переключатель обратно в master
  5. сделать то же некоторых изменений на master, как на ветвь
    (например, на ветке вы добавляете строку 'a' и удаляете 'b', а также редактируете 'c'.
    на master сделать то же самое: добавить строку 'а', удалить 'B', но редактировать 'D')
  6. сделать некоторые совершают на master

Итак, теперь, на master, мы имеем:

$ git diff ForkPoint..master:HEAD 
@@@[email protected]@@ 
new line 'a' 
removed line 'b' 
edited line 'd' 

на ветке, мы имеем:

$ git diff ForkPoint..branch:HEAD 
@@@[email protected]@@ 
new line 'a' 
removed line 'b' 
edited line 'c' 

Теперь я хочу, чтобы увидеть все изменения в отрасли, за исключением тех, которые находятся в master уже.

$ git checkout master; git diff branch:HEAD 
@@@[email protected]@@ 
edited line 'd' 
edited line 'c' 

Однако, я не хочу, чтобы увидеть другие изменения на master от ForkPoint..master:HEAD

ОЖИДАЕМЫЕ

@@@[email protected]@@ 
edited line 'c' 

мне нужно что-то вроде

git cherry -v branch:HEAD 

но этот проверка в целом совершает. Мне нужны строки.

+0

Что такое «ГОЛОВА», которая должна быть в вашем примере? Это не может быть символическая ссылка с тем же именем ... Это путь? Просьба уточнить. Я думаю, ваш вопрос выиграет от [MCVE] (http://stackoverflow.com/help/mcve). Тогда пользователи Stack-Overflow точно знали бы, что вы имеете в виду. – Jubobs

ответ

0

Git не может предоставить вам вариант, чтобы достичь этого, но вы можете сделать это с:

git diff master..mybranch | grep -v "^-[^-]" 

это удалит все строки, начинающиеся с одной «-», то есть, все строки, которые существуют i master, но не в mybranch.

Возможно, вам придется принять это в зависимости от вашей среды.

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