Я хочу, чтобы моя команда включала в себя себя, чтобы пересматривать друг друга. Ни один из коммитов не должен быть нажат, включая мой в репо, пока он не будет проверен другим членом команды. Я как бы потерял в документации фабрикатора, поэтому я прошу здесь, есть ли способ настроить такой рабочий процесс?Phabricator ограничивает git push
ответ
Вы можете ограничить доступ только к репозиториям, размещенным в Phabricator. Если ваш репозиторий размещен в другом месте (например, GitHub), Phabricator, очевидно, не может помешать пользователям нажимать на него.
Чтобы ограничить толчки, создать новое правило Herald (в приложении Herald), как это:
- Создать новые "Commit Крюка: Commit содержания" правила.
- Выберите «Глобальный» в качестве типа правила.
Затем настроить правило так:
When [all of] these conditions are met:
[Accepted Differential revision][does not exist]
Take these actions every time this rule matches:
[Block change with message][Review is required for all changes.]
Вы можете использовать дополнительные условия, как это, чтобы запустить правило только в некоторых хранилищах:
[Repository][is any of][ ... list of review-requied repositories ... ]
или состояние как это позволит пользователям обходить правило, написав некоторую строку типа «@ bypass-review» в сообщении в чрезвычайной ситуации:
[Body][does not contain][@bypass-review]
Если вы добавляете байпас как это, вы можете упомянуть его в сообщении об отклонении.
Кажется, что вам нужен предварительный обзор кода. Мы установить это, выполнив следующие действия (мы используем Git репо Если вы используете какой-либо другой тип, эти действия могут отличаться.):
- Настройка правило Herald
- Новое правило:
Commit Hook: Commit Content
- Если вы хотите только один репозиторий, вы можете использовать Тип правила:
Object
, однако, мы использовалиGlobal
- Для условий: мы выбрали
Accepted Differential revision
иdoes not exist
- Действие:
Block Change with message
Для сообщение, мы относим их к статье, ходящей их за счет использования Чародей
- Новое правило:
- Каждый проект будет нуждаться в .arcconfig, по крайней мере, этой линии:
{ "phabricator.uri": "http://your.phabricator.url" }
- разработчики Day-день собираются, чтобы использовать arcanist.
- Разработчик создает локальную ветвь.
- Изменяет и фиксирует код местной связи.
- По завершении запуска
arc diff [base_branch_name]
- Это создаст дифференциальную ревизию, которая позволит другому разработчику выполнить проверку кода.
- Если изменения необходимы, разработчик проверяет свою локальную ветку, вносит изменения, совершает коммиты и повторно запускает
arc diff [base_branch_name]
, чтобы обновить diff. - После всех изменений выполняются, запустите
arc land [local_branch_name] --onto [base_branch_name]
Я надеюсь, что это помогает. Кроме того, разработчики Phabricator ведут видеовстречу в IRC-канале freenode.net под названием #phabricator
. Присоединяйтесь к сообществу; они всегда были очень полезны для меня.
спасибо, ваш ответ очень похож на ответ Эванса, но Эван был немного быстрее :) Возьмите голосование в любом случае ... – message
Спасибо. Да, я забыл обновить страницу, прежде чем публиковать свой ответ. Я обычно делаю лучше с этим. – CEPA
Мы используем в качестве клиента расширение дерева/git-расширений, можете ли вы предоставить примерный формат сообщения фиксации, если мы реализуем этот фиксатор фиксации. – Strikers
- 1. Восстановить удаленную ветку git из версии Phabricator
- 2. Phabricator Ключевых слов в Git коммиты
- 3. git push with double dash (git push -)
- 4. «git-push» и «git push» различны?
- 5. phabricator diffusion git имя пользователя пароль для git fetch
- 6. Phabricator - структура папок репозиториев
- 7. Как ограничить push-git-репозиторий, если фиксация не принята в Phabricator?
- 8. git push .git/файл описания
- 9. Gerrit & Phabricator обзор
- 10. Создать repo для pull/push кода в Phabricator
- 11. Как удалить Phabricator
- 12. Phabricator: Невозможно создать посмотреть различия
- 13. Разница между git push origin master и git push
- 14. git push и git push heroku master за один шаг
- 15. В чем разница между git push и git push origin
- 16. Git Push под другим пользователем и Git Push With Diff
- 17. Когда «git push» проходит, когда git push запускает автоматическую упаковку?
- 18. git push vs git push origin <branchname>
- 19. Почему «git push helloworld + master: master» вместо «git push helloworld»?
- 20. Laravel Homestead Git Push
- 21. Git push and stash
- 22. Предварительный просмотр Git push
- 23. Heroku - git push
- 24. Перенаправление git push
- 25. Команда Git push
- 26. Git push confusion
- 27. Git Push не работает
- 28. Понимание команды git push
- 29. Git push принимает forever
- 30. Undo git push mirror
Мы используем в качестве клиента исходное дерево/git-расширения, можете ли вы указать образец сообщения об отправке, если мы реализуем этот фиксатор фиксации. – Strikers