Як налаштувати огляд коду за допомогою Gitlab?


85

Як налаштувати огляд коду за допомогою Gitlab? Я бачу, що це перераховано як функцію на веб-сайті Gitlab, але я, здається, не можу знайти інструкції щодо його налаштування (з цього приводу будь-яке посилання на посібник користувача Gitlab буде найбільш вдячним).

Деякі з моїх пошуків показали, що "Запити на об'єднання" - це шлях ... але я вважаю, що вони обмежують. Виданий запит на злиття показує всі коміти між однією гілкою та іншою. Здається, я можу переглядати різниці, створені для кожного окремого коміту. Наприклад, скажімо, у мене є файл, який я хочу переглянути. Це новий файл, але я подав зміни до нього за 10 комітів у гілці розробника. Якщо я видаю запит на злиття для цієї гілки розробника з інтеграції, я бачу 10 комітів, кожен з яких показує поступові зміни, внесені у файл ... Я хочу переглянути все. Це нове!

Я тут гавкаю не те дерево? Чи існує справжній інструмент перегляду коду, який я можу використовувати в GitLab, чи є запити на злиття, і якщо вони є, я використовую їх неправильно? який найкращий спосіб налаштувати правильний огляд коду тут?



З GitLab 13.1 (червень 2020 р.) Тепер у вас є відгуки про об’єднання запитів. Дивіться мою відредаговану відповідь нижче
VonC

Відповіді:


24

Примітка. Починаючи з GitLab 6.4, доступний паралельний перегляд різниці: див. " Витягнути запит 5308 "

(Липень 2013 р.)Поки що немає можливості коментувати кожен рядок, але лише на рівні файлу.
Даніель Соколовський згадує в коментарях, що тепер підтримуються коментарі за рядками (09/2014):

Члени вашої команди можуть коментувати запит на об’єднання загалом або окремі рядки з коментарями до рядків.

Це все ще може допомогти в діяльності з перегляду коду.

https://f.cloud.github.com/assets/4224518/1558702/e0fe633a-4fa3-11e3-9388-3f3e445cb6d4.png


6 років потому для GitLab 13.1 (червень 2020) :

Відгуки про запити на злиття переміщено до Core

Спочатку представлений у GitLab 11.4 як функція GitLab Premium, огляди запитів на злиття дозволяють рецензентам запитів на злиття:

  • подавати кілька коментарів одночасно,
  • зменшення шуму сповіщення для автора запиту на злиття, та
  • що дозволяє забезпечити більш згуртований та впорядкований процес розгляду.

https://about.gitlab.com/images/13_1/batch_comments.png

З моменту його введення ми переглянули його місце в нашій ціновій моделі на основі покупців, і, як частина 13.1, ми раді повідомити, що ця функція перейшла до GitLab Core.

Див. Документацію та випуск


Тепер підтримуються коментарі для кожного рядка: "Члени вашої команди можуть коментувати запит на об’єднання загалом або окремі рядки з коментарями до рядків." ( about.gitlab.com/2014/09/29/gitlab-flow )
Даніель Соколовський

1
@DanielSokolowski Чудово! Я включив ваш коментар у відповідь для більшої наочності.
VonC

9

Я робив огляди коду в Gitlab вже більше двох місяців, майже без тертя. Я налаштував rss2email для надсилання сповіщень електронною поштою кожного разу, коли розробник натискає нові коміти. Потім я використовую функцію коментарів Gitlab для комітів, щоб зробити деякі коментарі щодо натиснутого коду.

На жаль, Gitlab не дозволяє коментувати самі файли, лише в комітах (так само, як і Github, я думаю). Кожного разу, коли я потрапляю в ситуацію, коли мені потрібно прокоментувати щось, що я пропустив під час попереднього коміту, я використовую інструмент звинувачення, щоб знайти коміт, який ввів / змінив розділ коду, який коментується.

Це далеко не ідеально, але поки працює добре.


1
Замість rss2email можна використовувати сповіщення Gitlab, щоб отримувати повідомлення про натискання.
vadipp

У мене така сама проблема / обхідний шлях. Я вважаю, було б непоганим доповненням до функції, коли ви можете додати коментар до потрібного коміту, звинувачуючи певний рядок у перегляді різниці або файлу (я маю на увазі з веб-інтерфейсу перегляд файлів або розбіжностей, а не звинувачення).
AlejandroVD

2

Ви можете побачити надісланий код у запиті на злиття для іншого сховища або в поточному сховищі.
приклад http://demo.gitlab.com/diaspora/diaspora/commits/master

Потім ви можете додати коментарі до фіксованих змін файлу (кнопка Reply) або до всього коміту

приклад http://demo.gitlab.com/diaspora/diaspora/commit/42f47626890218a180870bc3f44ec57625b0779c

Отримане повідомлення - це перегляд коду . Однак я особисто рекомендую проводити огляд коду на одному ПК за допомогою особистого спілкування, коли це можливо, і використовувати інструменти для запису результатів або коли потрібно більше офіційності.

Для файлового журналу, в якому багато комітів, наприклад, http://demo.gitlab.com/diaspora/diaspora/blame/master/README.md, подивіться на нього, blameщоб зрозуміти, хто що зробив. Однак у цьому поданні немає можливості спілкуватися та додавати коментарі. У цьому випадку я рекомендую просто додати зміни як коментарі.


7
Я отримую 404 для першого, другого та останнього посилання у вашій відповіді.
Bryan Oakley

1
Як сказано на домашній сторінці, demo.gitlab.com "Є ПІСКОВИЧНИЙ ЗВІТ - це скидання щогодини", тому всі приклади були знищені. Це не хороший транспортний засіб для прикладів.
Uriah Blatherwick

Так, будь ласка, перегляньте його налаштування на відповідних прикладах. Ваша відповідь здається загалом вагомою порадою.
дані

0

Так. Запити на злиття - це спосіб проведення експертних оглядів.

Має бути вкладка "diff", яка відображатиме зміни всіх комітів (згаданих тут: http://youtu.be/DyAX8ws5OIc?t=3m2s ).

Відео також добре пояснює, як його можна використовувати для рецензування.


0

Звичайний випадок огляду коду - це перегляд коду на гілці перед об’єднанням у master або подібний. У мене ситуація, коли я розробив проект і хочу, щоб весь код переглядали всі члени команди.

Що я зробив:

Оформіть перший коміт, внесіть до нього зміни, фіксуйте та натискайте

git co -b FIRST_COMMIT eb67f06c2b3222c0219214b176c41922bc454881
vi README.md
git add README.md
git ci -m "First commit modified so can get full diff against it"
git push --set-upstream origin FIRST-COMMIT

Оформіть останній коміт, внесіть до нього зміни, фіксуйте та натискайте

git co -b master
vi README.md
git add README.md
git ci -m "Last commit modified so can get full diff against it"
git push --set-upstream origin LAST-COMMIT

На GitLab / GitHub створіть запит на витягування

  • Це об’єднання з LAST_COMMIT на FIRST_COMMIT

Працює для мене!


Чи не залишається у вас двох "небажаних" гілок у сховищі та відсутність відстеження коментарів у головній гілці? Якщо коментарі вимагають змін коду, ви об'єднуєте їх для обробки?
user2084572

Так, існуватимуть гілки FIRST_COMMIT та LAST_COMMIT, які легко видалити ( git br --delete --force origin FIRST_COMMIT LAST_COMMIT; git br --delete --force FIRST_COMMIT LAST_COMMIT). Ви можете використовувати інший майстер відгалуження, щоб містити зміни до нього, або створити окремі проблеми вручну. А пізніше створіть одну або кілька гілок (наприклад, одну на випуск), якщо відгуків буде занадто багато.
HankCa,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.