#git #git-diff
#мерзавец #git-разница
Вопрос:
Я хочу сравнить две ветви ( master
и live
) с конкретным результатом, как показано ниже
Текущая проблема:
Допустим, у меня есть 2 file
в master
:
- foo.js:
значение внутри
foo.js
:console.log('inital foo')
- bar.js:
значение внутри
bar.js
:console.log('bar')
в live
ветке у меня есть два файла:
bar.js
значение внутри
bar.js
://another code that should //exist only in live branch ... console.log('bar')
Constants.js
значение внутри
Constants.js
:BaseURL = 'http://' Version = '1.0.1'
теперь я хочу сравнить, есть ли какой-то файл / код, master
который не существует в live
ветке
Текущий результат:
git diff live master --name-only
выходной результат:
foo.js
bar.js
Constant.js
Ожидаемый результат:
просто проверьте в master
ветке любые изменения / новый файл, который не существует в live
ветке
любая команда, которая должна выдавать результат:
foo.js
Причина:
bar.js
in live
имеет другой код, который должен существовать только в live
, и поскольку master
и live
имеет console.log('bar')
, не должен показывать результат
Constant.js
не должен отображаться в результате, так как он в live
есть ли способ достичь этого?
Ответ №1:
Я думаю, вы ищете эту команду:
git diff live...master --name-only
Что он делает, так это сравнивает изменения, которые произошли в master
ветке с момента запуска live
ветки. Вы можете найти это в документации.
Комментарии:
1. Я думаю
git diff live...master --name-only
, решеноConstants.js
не показыватьlive
, но как насчетbar.js
? 1 в любом случае 🙂2. @flix Когда был
bar.js
добавлен в каждую ветку?3. при извлечении из
master
live
или создании вручную это условие для моего случая, иногда мне нужно извлечь егоmaster
(из-за кода) или просто вручную изменить (например, изменить только номер версии, поэтому я не извлекал из «master», а просто вводил вручную изlive
ветки, чтобы соответствовать, какномерmaster
версии)