Git ветвь все еще на той же линии, что и master
Я получаю что-то неожиданное в мерзавце. Я создал ветку от master, однако, когда я выполняю коммиты на новой ветке, создается впечатление, что они происходят в той же строке кода, что и master...
Как вы можете видеть, с левой стороны находится строка кода для master (темно-синий), а справа вверху мы видим Sprint_15 - ветвь, взятую из master, которая, кажется, имеет коммиты в одной строке... I Я не уверен, почему это происходит. Я ожидал бы увидеть, как код расходится в новую строку, поскольку функции объединяются в Sprint_15, а не в master...
Я думаю, что слияние Sprint_14 и Sprint_15 вместе сделало что-то необычное для истории, но я не уверен почему.
Я все еще довольно новичок в Git, поэтому некоторые из его основ все еще смущают меня.
2 ответа
Кажется, вы немного ошибаетесь в том, как работает git (что нормально, потому что вы сказали, что вы новичок в git)
Каждая ветвь не обязательно получает свою собственную линию. Если ваша ветка Sprint_15
имеет свою базу как master
а также Sprint_15
любое количество коммитов впереди master
тогда они будут разделять одну и ту же линию. Как только master
получает новый коммит, тогда я думаю, вы увидите, что вы ожидаете.
Вы можете проверить это в отдельном репозитории Git, как это.
$ mkdir testing && cd testing
$ git init # should put you on master branch by default
$ touch testFile.txt
$ git add -A
$ git commit -m "initial commit"
$ git branch newBranch
$ git checkout newBranch # switch from master to newBranch
### modify the testFile.txt in some way and then...
$ git add -A
$ git commit -m "first commit on newBranch"
Теперь, если вы используете тот же инструмент для просмотра своего репо, вы должны увидеть только одну строку, например:
Теперь вернитесь в ветку master и сделайте еще один коммит:
$ git checkout master
### make another change to testFile.txt
$ git add -A
$ git commit -m "second commit on master"
Теперь вы увидите, что каждая ветка имеет свою собственную линию, как вы ожидали, вот так:
Это предположение, но я полагаю, что причина, по которой ваша текущая ветвь функций находится на одной линии с master
потому что в настоящее время эта ветвь опережает master
на некоторое количество коммитов. Чтобы проверить это, попробуйте сделать последние master
ветка. Если это меняет вашу конфигурацию так, что Sprint_15
появляется отдельной строкой, тогда моя догадка оказалась верной.
В любом случае, вы всегда можете проверить такие вещи прямо из Git Bash, если у вас есть сомнения.