Для работы с предложениями изменений в SourceCraft, в том числе для ревью, не требуется специально переходить в IDE на локальном компьютере, все действия можно выполнять в интерфейсе SourceCraft. Доступны поиск и навигация по коду проекта, а также возможность редактировать код.
После того как предложение изменений было создано, каждая отправка изменений в удаленную ветку репозитория создает новую итерацию. Итерация включает в себя все коммиты, которые были сделаны перед выполнением команды git push.
Чтобы создать новую итерацию:
В той же ветке, из которой было создано предложение изменений, внесите новые изменения в файлы репозитория.
Внесите измененные файлы в индекс git, сделайте коммит и отправьте изменения в удаленный репозиторий:
На вкладке Домой в секции Ваша мастерская перейдите в раздел Репозитории.
Выберите репозиторий.
На странице репозитория в разделе Код перейдите в секцию Предложения изменений.
Выберите предложение изменений.
Посмотрите содержимое предложения изменений:
На вкладке Обзор отображается история итераций предложения изменений. Чтобы посмотреть изменения из конкретной итерации, напротив этой итерации нажмите Показать изменения.
На вкладке Изменённые файлы отображаются измененные файлы репозитория.
Чтобы сравнить изменения между итерациями, выберите их в выпадающих списках в поле Сравнить.
Чтобы вывести структуру файлов, нажмите кнопку рядом с выпадающими списками сравнения веток и итераций.
На вкладке Домой в секции Ваша мастерская перейдите в раздел Репозитории.
Выберите репозиторий.
На странице репозитория в разделе Код перейдите в секцию Предложения изменений.
Выберите предложение изменений.
Оставьте комментарий:
Общий
К конкретной строке
На вкладке Обзор в блоке Активность введите свой комментарий.
На вкладке Изменённые файлы напротив строки, к которой хотите оставить комментарий, нажмите .
Совет
Вы можете прокомментировать или предложить изменения сразу для целого блока кода. Для этого зажмите указатель мыши слева от номера строки, с которой хотите начать, и отпустите напротив строки, которой хотите закончить.
Комментарии и предложения кода можно оставлять к любым строкам измененного файла. Вы не ограничены только измененной областью.
В открывшемся окне введите свой комментарий.
В описании и комментариях задач и предложений изменений поддерживаются краткие ссылки на другие задачи и предложения изменений. Такая запись автоматически преобразуется в гиперссылку, а при наведении указателя отображается карточка с краткой информацией. Используйте следующие форматы:
!<номер_предложения_изменений> — предложение изменений в текущем репозитории.
<слаг_репозитория>!<номер_предложения_изменений> — предложение изменений в другом репозитории текущей организации.
<слаг_организации>/<слаг_репозитория>!<номер_предложения_изменений> — предложение изменений в указанных организации и репозитории.
#<номер_задачи> — задача в текущем репозитории.
<слаг_репозитория>#<номер_задачи> — задача в другом репозитории текущей организации.
<слаг_организации>/<слаг_репозитория>#<номер_задачи> — задача в указанных организации и репозитории.
(опционально) Чтобы запросить правки в предложении изменений, выберите опцию Запрос изменений.
Нажмите Комментировать.
Также вы можете не публиковать комментарий, а сохранить его черновик, чтобы доработать позже. Для этого нажмите Черновик.
Совет
Из комментария к предложению изменений или задаче вы можете создать новую задачу. Для этого справа от комментария нажмите и выберите Создать задачу.
Предложить код и принять предложение
Предложить код в комментарии
Вы можете предложить вариант кода, который автор предложения изменений сможет применить непосредственно из комментария:
На вкладке Домой в секции Ваша мастерская перейдите в раздел Репозитории.
Выберите репозиторий.
На странице репозитория в разделе Код перейдите в секцию Предложения изменений.
Выберите предложение изменений.
На вкладке Изменённые файлы напротив строки, для которой хотите предложить код, нажмите .
Совет
Вы можете прокомментировать или предложить изменения сразу для целого блока кода. Для этого зажмите указатель мыши слева от номера строки, с которой хотите начать, и отпустите напротив строки, которой хотите закончить.
Комментарии и предложения кода можно оставлять к любым строкам измененного файла. Вы не ограничены только измененной областью.
В открывшемся окне нажмите Предложение кода.
Введите код, который вы хотите предложить.
Важно
Предложение кода отличается от обычного комментария наличием разметки suggestion:
```suggestion
Предлагаемые изменения
```
Не удаляйте и не изменяйте эту разметку.
(опционально) Чтобы запросить правки в предложении изменений, выберите опцию Запрос изменений.
Нажмите Комментировать.
Также вы можете не публиковать предложение кода, а сохранить его черновик, чтобы доработать позже. Для этого нажмите Черновик.
Принять код, предложенный в комментарии
Чтобы принять предложенный код из одного комментария:
В правом верхнем углу комментария с предложенным кодом нажмите .
Введите сообщение к коммиту и нажмите Применить.
Чтобы принять предложенный код из нескольких комментариев одним коммитом:
В правом верхнем углу всех комментариев, которые вы хотите принять, нажмите .
В зависимости от того, на какой вкладке вы находитесь, примените изменения следующим образом:
Обзор
Изменённые файлы
В верхней части страницы в блоке с перечнем файлов, в которые вносятся изменения, нажмите Применить предложения.
В нижней части страницы нажмите Применить.
Введите сообщение к коммиту и нажмите Применить.
Чтобы отклонить предложенный код, в правом верхнем углу комментария с предложенным кодом нажмите .
На вкладке Домой в секции Ваша мастерская перейдите в раздел Репозитории.
Выберите репозиторий.
На странице репозитория в разделе Код перейдите в секцию Предложения изменений.
Выберите предложение изменений.
В правом верхнем углу напротив кнопки Одобрить нажмите .
Выберите резолюцию:
Одобрить — одобрить текущую итерацию предложения изменений. После внесения правок в предложение изменений резолюцию надо будет получить повторно.
Доверять — одобрить текущую и все последующие итерации предложения изменений.
Заблокировать — запретить слияние правок из предложения изменений в целевую ветку.
Обновить ветку-источник
Если в целевую ветку были добавлены новые коммиты после создания предложения изменений, вы можете влить их в ветку-источник, не покидая интерфейс SourceCraft. Это удобно, когда нужно проверить совместимость изменений из ветки-источника с последним состоянием целевой ветки или разрешить конфликты до выполнения слияния.
На вкладке Домой в секции Ваша мастерская перейдите в раздел Репозитории.
Выберите репозиторий.
На странице репозитория в разделе Код перейдите в секцию Предложения изменений.
Выберите предложение изменений.
В правом верхнем углу нажмите и выберите Обновить ветку.
Выберите способ обновления:
Обновить слиянием — в ветке-источнике создается отдельный коммит слияния, который сохраняет историю изменений обеих веток.
Обновить через squash и rebase — коммиты ветки-источника переносятся поверх последнего коммита целевой ветки, сохраняя линейную историю изменений.
В открывшемся окне подтверждения нажмите Да, конечно.
Если в ветке-источнике и в целевой ветке есть изменения в одних и тех же местах, откроется окно разрешения конфликтов. После разрешения конфликтов и сохранения изменений ветка-источник будет обновлена.
Выполнить слияние с целевой веткой
После того как предложение изменений будет одобрено, вы можете выполнить слияние с целевой веткой.
На вкладке Домой в секции Ваша мастерская перейдите в раздел Репозитории.
Выберите репозиторий.
На странице репозитория в разделе Код перейдите в секцию Предложения изменений.
Выберите предложение изменений.
В правом верхнем углу напротив кнопки Принять нажмите .
Выберите способ слияния с целевой веткой:
Создать изменение для объединения — в целевой ветке создается отдельный коммит слияния, который сохраняет историю изменений обеих веток. Этот подход наглядно показывает, когда и как происходило слияние, сохраняя всю историю разработки без изменений.
Объединить одним изменением — перед слиянием с целевой веткой коммиты из ветки с изменениями объединяются в один коммит. Это помогает сохранить более чистую и упрощенную историю изменений, сводя серию мелких коммитов к одному.
Перебазировать и объединить — коммиты из ветки с изменениями присоединяются к основной ветке без создания специального коммита слияния. Это перемещает коммиты из ветки с изменениями в конец целевой ветки, сохраняя линейную историю изменений.
В правом верхнем углу нажмите кнопку с выбранным способом слияния.
Совет
Чтобы ветка-источник предложения изменений автоматически удалялась после слияния с целевой веткой, в блоке Настройки слияния включите опцию Удалять ветку-источник после слияния. Эта опция переопределяет поведение по умолчанию, заданное для репозитория в файле .sourcecraft/branches.yaml.