2013-09-19 2 views
0

У меня есть ветка с фикцией/ошибкой (скажем topic) с кучей коммитов и хочу представить их моим коллегам, прежде чем слить их в master. Я могу вручную найти общий предок моего филиала и мастер-ветви и сравните, что его кончик:Как просмотреть изменения ветви Git

$ git diff d0a2eaf..03a025f 

Есть ли более элегантный способ сделать это?

+0

Возможный дубликат [как просмотреть измененные файлы в ветке git и разнице] (http://stackoverflow.com/questions/17493925/how-to-view-changed-files-on-git-branch-and-difference) – Bengt

ответ

0

Вы можете автоматизировать нахождение общего предка с помощью git merge-base и что на кончике отрасли:

$ git diff `git merge-base master topic` topic 

или просто использовать git diff's dot-notation for "Comparing branches" для просмотра изменений, которые произошли на topic ветви, так как, когда он был запущен в master отрасль:

$ git diff master...topic 
+0

Обратите внимание, что 'git diff' эффективно в особых случаях представляет собой трехточечный синтаксис' master ... my-branch', чтобы сделать именно это. – torek

+0

Приятный трюк. Добавил его к моему ответу. – Bengt

0

, если текущая ветвь ваша функция ветвь, делать git diff master будет делать различия между текущей ГОЛОВОЙ и названной веткой (езз точно то, что вы упоминаете).

+0

Для этого требуется интерактивное переключение контекста ('git checkout topic'), что может быть невозможно с помощью нечистой рабочей копии. Было бы более элегантно получить diff, не зависимо от рабочей копии. – Bengt

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