2015-10-20 4 views
0

Я по-прежнему относительно неопытен, используя github, особенно с командной строкой, причем 99% моего опыта поступает непосредственно через приложение github windows.Итак, я создал новую ветку, теперь как мне работать с клонированным набором отдельных файлов?

Я пытаюсь настроить мой репозиторий следующим образом:

До сих пор я работал непосредственно с главной ветви. Но теперь мне нужно обновить большой раздел кода и, очевидно, не хочу его развертывать до тех пор, пока это не будет выполнено. Тем не менее, мне все еще нужно иметь возможность развертывать быстрые обновления для несвязанных запросов с использованием исходного кода.

Мне удалось создать новую ветку, но я не могу понять, как отделить файлы кода, чтобы я мог работать над ними отдельно.

Любая помощь/информация по этой теме будет принята с благодарностью.

+0

Можете ли вы объяснить, что вы подразумеваете под «разделять файлы кода»? Потому что у вас обычно есть очень похожие наборы файлов во всех ветвях (за исключением различий между ветвями, конечно). – LiMar

+0

Я имею в виду, что на моей локальной машине у меня есть один каталог, содержащий все файлы для моего проекта.Когда я создал свою ветку, на моей локальной машине все еще есть только один набор файлов. Это проблематично, потому что, в то время как я провожу следующие пару недель, работая над большим обновлением, мне, скорее всего, придется развернуть небольшие несвязанные обновления, которые не должны ждать, пока я закончил с большим проектом. Если есть только один набор файлов, я не смогу развернуть какие-либо обновления на реальном сервере без развертывания незавершенного более крупного проекта. – mrb398

ответ

2

Когда я создал свою ветку, на моей локальной машине все еще есть только один набор файлов.

Да, это ожидается.

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

Git обрабатывает ваши ветви для вас, как правило, в одном каталоге.

Пока выдан master, вы можете продолжать работать прямо на нем, как раньше. Новые коммиты войдут в ветвь master.

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

Каждый раз, когда вы git checkout <somebranch> Git обновит вашу рабочую копию соответственно, и новые коммиты пойдут на активную ветку.

Здесь есть одна деталь, которая часто смущает новых пользователей: незафиксированные изменения не относятся к какой-либо отрасли. То есть, если вы находитесь на master, и вы модифицируете некоторые файлы, но не делаете их, а затем git checkout newbranch ваши изменения будут следовать за вами. Это по дизайну, и есть много материала в Интернете, обсуждающего эту функцию.

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

Вы можете узнать больше об этой функции on GitHub's blog или в другом месте.

+0

Большое вам спасибо, это буквально самая удивительная функция, которую я узнал на сегодняшний день – mrb398

Смежные вопросы