Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Топ:
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Интересное:
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
2022-02-11 | 38 |
5.00
из
|
Заказать работу |
|
|
Сейчас самое время переслать наш локальный коммит на сервер. Этот процесс происходит каждый раз, когда мы хотим обновить данные в удаленном репозитории.
Команда, предназначенная для этого — push. Она принимает два параметра: имя удаленного репозитория (мы назвали наш origin) и ветку, в которую необходимо внести изменения (master — это ветка по умолчанию для всех репозиториев).
1 2 3 4 5 6 | $git push origin master Counting objects: 3,done. Writing objects: 100% (3/3),212bytes | 0bytes/s,done. Total3(delta0),reused0(delta0) Tohttps://github.com/tutorialzine/awesome-project.git * [newbranch]master ->master |
В зависимости от сервиса, который вы используете, вам может потребоваться аутентифицироваться, чтобы изменения отправились. Если все сделано правильно, то когда вы посмотрите в удаленный репозиторий при помощи браузера, вы увидете файл hello.txt
Клонирование репозитория
Сейчас другие пользователи GitHub могут просматривать ваш репозиторий. Они могут скачать из него данные и получить полностью работоспособную копию вашего проекта при помощи команды clone.
1 | $git clonehttps://github.com/tutorialzine/awesome-project.git |
Новый локальный репозиторий создается автоматически с GitHub в качестве удаленного репозитория.
Запрос изменений с сервера
Если вы сделали изменения в вашем репозитории, другие пользователи могут скачать изменения при помощи команды pull.
1 2 3 4 | $git pull origin master From https://github.com/tutorialzine/awesome-project * branch master ->FETCH_HEAD Already up-to-date. |
Так как новых коммитов с тех пор, как мы склонировали себе проект, не было, никаких изменений доступных для скачивания нет.
Ветвление
Во время разработки новой функциональности считается хорошей практикой работать с копией оригинального проекта, которую называют веткой. Ветви имеют свою собственную историю и изолированные друг от друга изменения до тех пор, пока вы не решаете слить изменения вместе. Это происходит по набору причин:
|
• Уже рабочая, стабильная версия кода сохраняется.
• Различные новые функции могут разрабатываться параллельно разными программистами.
• Разработчики могут работать с собственными ветками без риска, что кодовая база поменяется из-за чужих изменений.
• В случае сомнений, различные реализации одной и той же идеи могут быть разработаны в разных ветках и затем сравниваться.
• Структура хорошего git репозитория выглядит следующим образом:
• Ветка master – содержит в себе стабильно-работающие релизы
• Ветка dev – основная рабочая ветка проекта. Основное требования к коммитам в этой ветке – код в ней должен всегда компилироваться
• Остальные ветки создаются по мере необходимости. После решения задач, и слияния они удаляются.
•
• Стандартный алгоритм работы над какой-либо задачей выглядит так:
•
• 1. Создаётся ветка, основывающаяся на последней копии master или dev ветки. Название новой ветки содержит краткое описание задачи
• 2. Все изменения производятся внутри этой ветки. При каждом атомарном логическом изменении (например, добавили плагин – закоммитили добавление; поправили API одной функции во всех местах – закоммитили и тп) создаётся свой коммит. Это позволяет разделять какие были изменения, упрощается чтение и проверка на ошибки процесса разработки.
• 3. После того как код в ветке сделан и отлажен, все изменения закоммичены, данная ветка сливается с веткой dev
6. Разработчик удаляет локальную ветку задачи после того как задача была закрыта и изменения попали в master или dev.
Создание новой ветки
Основная ветка в каждом репозитории называется master. Чтобы создать еще одну ветку, используем команду branch <name>
1 | $git branch amazing_new_feature |
Это создаст новую ветку, пока что точную копию ветки master.
Переключение между ветками
Сейчас, если мы запустим branch, мы увидим две доступные опции:
|
1 2 3 | $git branch amazing_new_feature * master |
master — это активная ветка, она помечена звездочкой. Но мы хотим работать с нашей “новой потрясающей фичей”, так что нам понадобится переключиться на другую ветку. Для этого воспользуемся командой checkout, она принимает один параметр — имя ветки, на которую необходимо переключиться.
1 | $git checkout amazing_new_feature |
Слияние веток
Наша “потрясающая новая фича” будет еще одним текстовым файлом под названием feature.txt. Мы создадим его, добавим и закоммитим:
1 2 | $git add feature.txt $git commit -m"Newfeature complete.” |
Изменения завершены, теперь мы можем переключиться обратно на ветку master.
1 | $git checkout master |
Теперь, если мы откроем наш проект в файловом менеджере, мы не увидим файла feature.txt, потому что мы переключились обратно на ветку master, в которой такого файла не существует. Чтобы он появился, нужно воспользоваться merge для объединения веток (применения изменений из ветки amazing_new_feature к основной версии проекта).
1 | $git merge amazing_new_feature |
Теперь ветка master актуальна. Ветка amazing_new_feature больше не нужна, и ее можно удалить.
1 | $git branch -dawesome_new_feature |
Дополнительно
В последней части этого руководства мы расскажем о некоторых дополнительных трюках, которые могут вам помочь.
|
|
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!