Страницы

Поиск по вопросам

вторник, 9 июля 2019 г.

Создание новой ветки git

Хочу залить на гитхаб. Когда я переключаюсь(git checkout) между ветками, которые раньше создавал, то соответственно в дереве каталогов и файлов все обновляется соответственно ветке, на которую я перешел. Сейчас из ветки мастер я хочу создать новую ветку(git branch), чтобы туда залить новое дз, но почему-то, когда я создаю новую ветку, то из нее я вижу все остальные папки и файлы, которые в других ветках, а из других веток видны только они. Я подумал, что это так, потому что я сделал команду git pull и стянул все изменения(может ошибаюсь). И решил залить созданную ветку, из которой все другие видны. Потом зашел на гитхаб, перешел по этой ветке и вижу, что в ней мои самые первые домашки, но так не должно быть. Что я делаю не так?


Ответ

Когда вы делаете git branch branchname, то в branchname автоматически попадают все коммиты, которые были в том состоянии из которого вы делали ветку. В этот момент ваша ветка и то состояние из которого вы ее делали - идентичны. Если вы хотите в рамках вашего репозитория получить "чистую" ветку без предыдущих коммитов (например для задания с кодом никак не относящимся к тому что уже закоммичено), то можно сделать так:
git checkout firstCommitId -b newBranchname
где firstCommitId - номер первого коммита в репозитории, а newBranchname - имя вашей новой ветки. В этом случае ваша новая ветка будет содержать только первый коммит в репозитории.

Комментариев нет:

Отправить комментарий