Подтвердить что ты не робот

Git Слияние: что означают плюсы?

Я запускал "git merge" из терминала в Mac OS X, чтобы объединить ветвь в мой мастер и получить вывод, который выглядит так:

 spec/models/user_spec.rb    57 ++++++++++++++++++++

Что означает "57 ++++++++++++++++++++"? Сколько раз я вставлял/модифицировал этот файл? Для чего нужны все плюсы?

4b9b3361

Ответ 1

Изменено 57 строк. Плюсы - это графические индикаторы количества измененных строк, вроде гистограммы. Они имеют больше смысла, когда вы изменили несколько файлов, поскольку они дают быстрый способ увидеть относительное количество строк, измененных для каждого файла.

Я обнаружил, что если вы делаете только несколько изменений, каждый плюс соответствует одной строке. По мере того как вы делаете больше, он масштабирует их назад.

Он также показывает минусы для удаления строк.

Если вы сделали 28 строк (57/2) в другом файле, вы увидите строку с плюсами, близкую к ней.

Ответ 2

Как я ответил здесь:

Он должен отражать количество изменений (в строках) каждого указанного файла.
Плюс признаки добавления, минусы для удаления.

57 дает количество измененных строк, а -/+ дает вам долю удалений/дополнений.
Когда количество изменений может соответствовать строке, вы получите "+" за добавление, "-" за удаление,
В противном случае это приближение, например.

CHANGES.txt     |   47 +++++++++++++++++++++++++++++++++
make-release.py |   77 +++++++++++++++++++++++++++++++++++++++----------------
2 files changed, 102 insertions(+), 22 deletions(-)

В CHANGES.txt, так как вы можете видеть, что нет '-', и поскольку 47 '+' - это много, у вас есть пропорциональное их количество (то есть 100%).
На make-release.py вы увидите x39 '+' для 55 дополнений и x16 '-' для 22 удалений.
Точно так же, как и их пропорция, и просто количество, которое должно соответствовать экрану вывода.

Количество знаков на строку a GCD multiple, которое соответствует ширине линии.

Надеюсь, что это поможет.

Ответ 3

В принципе, да - в этом файле было 57 изменений, и все они были дополнениями.

Ответ 4

В дополнение к другим ответам: это синтаксис diffstat, а не только Git. Git показывает diffstat после слияния или когда вы запрашиваете его как git diff --stat, который производит примерно тот же вывод, что и git diff | diffstat.