03 - Git
Из Википедии: Git - бесплатное программное обеспечение с открытым исходным кодом для распределенного контроля версий: отслеживания изменений в любом наборе файлов, обычно используемое для координации работы программистов, совместно разрабатывающих исходный код в процессе разработки программного обеспечения. Его цели включают скорость, целостность данных и поддержку распределенных нелинейных рабочих процессов (тысячи параллельных ветвей, работающих в разных системах).
Git доступен для всех современных платформ. В основном он связан с управлением кодом, таким как PHP, Java или Python, но его можно использовать для управления любым текстом на основе строк, таким как эта документация, написанная в формате Markdown. Git можно использовать из командной строки, хотя большинство пользователей полагаются на интегрированную среду разработки (IDE) для составления и выполнения команд git.
Чтобы узнать больше, начните со страницы Основ Git, а затем переходите к приведенным примерам на Github.
Ссылки
Следующие статьи взяты из docs.joomla.org:
- Быстрый Запуск Ветвления Git
- Работа с git и github
- Git для тестировщиков и Трекеров
- Настройка Eclipse PDT 2020 и Git для извлечения
- Мой первый запрос на удаление в Joomla! на Github
Эти ссылки могут быть удалены, когда новая документация будет сочтена зрелой .
Этот документ предоставляет быструю пошаговую процедуру с использованием командной строки о том, как получить ветку git и быстро запустить программу установки.
Шаг 1: Создайте репозиторий fork
- Создайте учетную запись на GitHub ( https://www.github.com - "Зарегистрироваться бесплатно")
- Создайте форк репозитория Joomla, который вы хотите изменить. Это можно сделать, нажав на кнопку форка.
- После нажатия на fork. Дайте имя вашему разветвленному репозиторию и нажмите "Создать".
- Убедитесь, что вы вошли в свою учетную запись на GitHub:
- Перейдите на https://github.com/joomla/joomla-cms / (Joomla! CMS) или https://github.com/joomla-framework / (Joomla! Framework)
- Нажмите на кнопку "Форк" в правом верхнем углу и дождитесь завершения процесса.
- Теперь у вас есть форк репозитория Joomla на GitHub под ...github.com/yourusername/joomla -....
Шаг 2: Создайте рабочую копию
Вы можете создать единственную рабочую копию для своих проектов или несколько рабочих копий. В целом, ветвление Git позволяет вам работать с несколькими копиями проекта в одном рабочем месте. Если вы хотите работать над параллельными проектами, вы можете захотеть иметь несколько рабочих копий. Вы можете разработать наиболее подходящий для вас процесс. Выполните эти инструкции для каждой рабочей копии.:
- Перейдите к своему форку на GitHub (например, http://github.com/YourName/joomla-cms )
- По умолчанию должна быть выбрана ссылка "Доступ для чтения и записи". Если вы настроили SSH-ключи, то используйте эту опцию. Если вы этого не сделали, то следует выбрать HTTPS. Скопируйте ссылку, выделив или выбрав опцию "копировать в буфер обмена".
- Теперь откройте свой терминал на вашем локальном компьютере (Windows: ссылка на GIT BASH; Mac: терминал; Linux: ваш любимый эмулятор терминала).
- И следуйте приведенным ниже командам:
git <clone paste copied URL> <here path to target directory>
Здесь путь к целевому каталогу необязателен. Рекомендуемый способ - перейти в свою целевую папку и открыть свой терминал в этой папке, а затем просто выполнить приведенную выше команду, не указывая путь к целевому каталогу. Это должно выглядеть примерно так, если вы предоставляете путь:
git clone https://github.com/pasamio/joomla-cms.git /Users/pasamio/joomla-cms
И если вы находитесь в своем целевом каталоге, то ваша команда должна выглядеть следующим образом:
git clone https://github.com/pasamio/joomla-cms.git
Примечание: Git автоматически создаст путь к каталогу, если он не существует. 5. Теперь перейдите в вашу клонированную папку репозитория.:
cd <path to target directory>
Например:
cd /Users/pasamio/joomla-cms
- Добавьте удаленный источник для репозитория Joomla для этого форка. Перейдите на https://github.com/joomla/joomla-cms / и скопируйте ссылку "Git только для чтения".
- Вы можете добавить remote в свой репозиторий, вставив следующие команды:
git remote add joomla <copied URL>
Это должно выглядеть примерно так:
git remote add joomla git://github.com/joomla/joomla-cms.git
Поздравляем! На этом этапе вы клонировали свой репозиторий (это будет пульт, известный как 'origin') и добавили пульт для репозитория проекта Joomla, над которым вы работаете (как 'joomla').
Шаг 3: Создание новой ветки
Каждый раз, когда вы начинаете работать над новой функцией, исправлением ошибки или концепцией, мы рекомендуем вам начинать с новой ветки. Ветвление и слияние в Git проще, чем в Subversion, поскольку многие конфликты, связанные с одними и теми же изменениями, вносимыми в двух местах, обрабатываются автоматически. Каждая ветвь может содержать конкретный проект, над которым вы работаете, и вы можете легко переключаться между ветвями в одной рабочей копии. Поскольку Git предназначен для распространения, вы можете зафиксировать изменения для работы в ветке перед переключением веток, не распространяя это на более широкий мир.
- Перед созданием новой ветки убедитесь, что у вас есть последние изменения. Это можно сделать, отправив запрос на извлечение:
git pull origin <origin name>
- Отсюда любые обновления будут загружены из всех репозиториев, наиболее важно из Joomla.
- Создайте и оформите заказ в новой ветке со следующим:
git checkout -b <yourbranchname> joomla/master
- Теперь вы находитесь в своем новом филиале. Скорее всего, название вашего нового филиала будет заключено в квадратные скобки в вашем ternminal.
- Теперь вы готовы внести изменения в код.
- Как только вы внесете необходимые изменения, самое время подготовить ваш код. Подготовка - важный процесс перед отправкой вашего кода в репозиторий. Подготовка просто означает, что ваш код готов к объединению с основным исходным кодом.
- Вы можете выполнить фиксацию или этапирование своего кода с помощью следующих команд:
git add . git commit -m "your message/ a short description of changes you have made"
Сюда добавить . означает добавить все файлы, в которые вы внесли изменения. 8. Теперь вы готовы запустить свой код.:
git push -u origin
При этом может быть запрошено ваше имя пользователя и пароль на GitHub, если вы используете протокол HTTP. При использовании протокола SSH может быть запрошена кодовая фраза для вашего SSH-ключа. Опция "-u" используется для обозначения этой версии как "восходящей" и будет отслеживаться по этой ветке. Это означает, что в будущем вы сможете "git push" и "git pull" автоматически получать обновления с этого пульта дистанционного управления и ветки (если вы работаете самостоятельно, вы, скорее всего, будете выполнять только "git push").
Теперь вы создали новую ветку, внесли несколько изменений и разместили ее в своем разветвленном репозитории. Теперь пришло время объединить ее с вашей основной веткой.
Шаг 4: Слияние с мастером
Через некоторое время возникнет необходимость объединить изменения из вышестоящего репозитория. Это может быть связано с тем, что эти изменения конфликтуют с другими изменениями в репозитории (делая запрос на извлечение "недоступным для обмена"), потому что вам нужны обновления из репозитория для продолжения работы или просто для того, чтобы разница изменений между вашими фиксациями была небольшой.
У вас есть два основных варианта. Первый - использовать простое слияние. При этом будет предпринята попытка получить изменения из удаленного репозитория и автоматически объединить их локально. Это может привести к конфликту с вашей работой, который вам потребуется объединить вручную (точно так же, как это произошло бы с Subversion в случае конфликта).
Вы можете объединить, выполнив явное "git merge" или "git pull". Выполнение "git pull" похоже на выполнение "git fetch" с последующим "git merge" и гарантирует, что вы объединяете последние изменения из удаленного репозитория:
git merge joomla master
Это приведет к удалению последних изменений из репозитория и их объединению. Вы можете получить уведомление о наличии конфликта, который вам необходимо разрешить. Как только вы разрешите конфликт, вам нужно будет выполнить фиксацию, чтобы отметить эти изменения.
ИЛИ вы можете перейти в свою главную ветку и сделать запрос на извлечение там.
git pull origin <new branch name>
Этот раздел отсутствует, пожалуйста, воспользуйтесь ссылкой Редактировать эту страницу внизу этой страницы, чтобы добавить этот раздел.