Как я могу создать патч с помощью Git?


Ответы:


12

Каждый проект Drupal.org имеет вкладку «Контроль версий», нажмите на нее, и вы попадете на страницу с инструкциями Git, включая раздел под названием «Создание патча».

Смотрите здесь для примера: http://drupal.org/project/wysiwyg_fields/git-instructions

Код ниже скопирован из инструкции Do.

git checkout -b [description]-[issue-number]

Внесите свои изменения. Обратите внимание на изменение синтаксиса для сообщений о фиксации, связанных с проблемой. Смотрите страницу фиксации сообщений для деталей.

git add -A
git commit -m "Issue #[issue number] by [comma-separated usernames]: [Short summary of the change]."

Ролл патч.

git status
git fetch origin
git rebase origin/6.x-1.x
git format-patch origin/6.x-1.x --stdout > [description]-[issue-number]-[comment-number].patch

0

Если вы используете PhpStorm или IntelliJ, вы можете сделать следующее:

  • Убедитесь, что ваша ветка обновлена ​​(передайте все)
  • Внесите изменения (исправьте ошибку)
  • Перейти к VCS> Создать патч

    Перейти к VCS> Создать патч

  • Следуйте инструкциям и сохраните, где вы предпочитаете.

    Следуйте инструкциям и сохраните, где вы предпочитаете


0

Я бы не усложнял вещи. В конце концов, все, что вам действительно нужно, - это dev-версия модуля, инициируйте в нем пустое Git-репо, очистите рабочее дерево (зафиксируйте все, это только локально), внесите изменения и затем выполните следующую команду.

$ git diff > [short_description]-[issue-number]-[comment-number].patch

Пошагово, что, возможно, сводится к следующему.

  1. Есть местный Drupal, с которым вы можете возиться.
  2. Загрузите dev-версию модуля в папку ваших модулей в Drupal.
  3. Теперь cdв каталог модуля, а git initзатем git add .и git commit -m "Clean tree"иметь чистое состояние для начала.
  4. Внесите изменения в свой код и используйте локальный Drupal, чтобы проверить, все ли работает, и в конце запустите git diffкоманду сверху.
  5. Загрузите патч на drupal.org и установите проблему «Требуется проверка».
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.