График журнала в TortoiseGit не показывает ветку/слияние?

Я только начал использовать Git в Windows. Я размещаюсь на BitBucket и использую TortoiseGit в качестве клиента Windows.

Все движется в правильном направлении, но в какой-то момент я ничего не понимаю. Я работал над основной веткой и в какой-то момент создал новую ветку. Затем я продолжил работу над новой веткой и продолжал фиксировать, продвигать. Наконец, когда я закончил, я объединил эту новую ветку (codetidy) обратно в master.

Теперь, когда я делаю «Показать журнал» и выбираю «Все ветки», я просто получаю прямую линию на графике. Нет информации о том, когда ветвь была удалена и когда она снова объединилась. Пожалуйста, помогите мне найти эту информацию.

График версий


person Saurabh Kumar    schedule 25.11.2012    source источник


Ответы (1)


Вероятно, это связано с тем, что ваше слияние было ускоренным слиянием, а это означает, что не было никаких коммитов, сделанных для master в промежутке между созданием codetidy и его обратным слиянием, так что Git услужливо просто перемещает master, чтобы указать на ту же фиксацию (потому что она уже имеет то же содержимое файла, что и слияние), а не создает ненужную фиксацию слияния.

Если вы не хотите такого поведения, вам нужно заставить Git создать отдельный коммит слияния — в командной строке это делается с помощью git merge --no-ff. В TortoiseGit это делается установкой флажка «Без перемотки вперед» в окне слияния (см. предыдущий ответ StackOverflow для Скриншот).

person Amber    schedule 25.11.2012
comment
да ты прав. На мастере не было фиксации. Это звучит мудро, сделанное git. Но поскольку git переместил master, чтобы указать на последнюю фиксацию, если codetidy, что, если теперь я наконец удалю ветку, поскольку практически я объединился и закончил с веткой? - person Saurabh Kumar; 26.11.2012
comment
Тогда master останется указывать на одно и то же место, на которое в настоящее время указывают обе ветви. Ветки в Git — это просто указатели на коммиты; в настоящее время у вас есть два указателя, указывающих на один и тот же коммит. Если вы удалите один из указателей, другой по-прежнему будет указывать на этот коммит. - person Amber; 26.11.2012