Партнеры по разработке программного обеспечения хорошо знакомы с git. Они должны отправлять код в свой собственный репозиторий или частный gitlub компании каждый день. Конечно, некоторые друзья будут использовать svn или другие инструменты отправки. В этой статье рассказывается, как использовать git commit. Элегантная отправка может сделать мелких партнеров команды более способными к обзору git Я буду продолжать делиться конфигурацией в соответствии со следующим каталогом.
- Сообщение фиксации для отправки кода в обычное время
- Сообщение фиксации после использования плагина фиксации
- Отправьте сообщение о коммите после использования плагина commitizen + cz-customizable
- Зафиксировать сообщение после использования плагина gitmoji-cli
- Как настроить коммит
- Как настроить commitizen + cz-customizable
- Как настроить itmoji-cli
Не спешите устанавливать эти плагины первыми, прочитайте статью, чтобы узнать, какой из них вам подходит, выберите тот, который подходит вам или вашей команде, и добавьте пример установки и использования в конце статьи😃
1. Сообщение фиксации кода фиксации git
git commit должен быть командой фиксации, которую мы используем для большинства наших коммитов.Как правило, операции в командной строке следующие:
git add -A
git commit -m'提交说明'
git push
Затем мы увидим подобную информацию о коммите в удаленном репозитории git, и все выглядит нормально. Так себе, но ярких пятен и навязчивости нет, могу только знать, что это записи ежедневных подчинений
2 Используйте сообщение коммита коммита (сначала команду коммита можно опустить и посмотреть непосредственно на репозиторий git commit rendering)
git add -A
git cz
-cli@4.0.3, cz-conventional-changelog@3.0.1
? Select the type of change that you're committing: fix:A bug fix
? What is the scope of this change (e.g. component or file name): (press enter to skip) root/app.tsx root/app.less root/index.tsx
? Write a short, imperative tense description of the change (max 52 chars):
(10) 这里是简短更改的说明
? Provide a longer description of the change: (press enter to skip)
这里是详细更改的说明
? Are there any breaking changes? Yes
? Describe the breaking changes:
说明更改原因
? Does this change affect any open issues? Yes
? Add issue references (e.g. "fix #123", "re #123".):
"fix #123 https://github.com/zhangfaliang/react-hooks/commits/master"
[master 6c90b87] fix(root/app.tsx root/app.less root/index.tsx): 这里是简短更改的说明
1 file changed, 1 insertion(+), 1 deletion(-)
git push
Давайте посмотрим на этот коммит, отображаемый на git Выглядит круче, чем предыдущая заявка?Вы можете прямо посмотреть измененные файлы и подробную инструкцию, а так же ссылку на выпуск
3 Сообщение о коммите после фиксации + плагин cz-customizable
Это нужно для добавления подключаемого плагина на основе коммита для реализации пользовательского шаблона коммита.(Команда фиксации сначала опущена, сначала посмотрите на следующую диаграмму фиксации репозитория git)
git add -A
git cz
cz-cli@4.0.3, cz-customizable@6.2.0
Line 1 will be cropped at 100 characters. All other lines will be wrapped after 100 characters.
? 选择一种你的提交类型: 💪 WIP: Work in progress
? Denote the SCOPE of this change(表示此更改的范围): root/app.tsx root/app.less root/index.tsx
? 短说明:
这里是简短的说明
? 长说明,使用"|"换行(可选):
这里是详细更改的说明
###--------------------------------------------------------###
WIP(root/app.tsx root/app.less root/index.tsx): 这里是简短的说明
这里是详细更改的说明
###--------------------------------------------------------###
? 确定提交说明? Yes
[master 86be287] WIP(root/app.tsx root/app.less root/index.tsx): 这里是简短的说明
1 file changed, 1 deletion(-)
Глядя на картинку, на самом деле она похожа на подачу предыдущей версии, но в ней реализован пользовательский или подходящий шаблон подачи
Не будем рассматривать первый и четвертый шаги, посмотрим на второй и третий шаги, их шаблоны аналогичны
type
type используется для описания природы коммита. Часто используемые
- подвиг добавляет функцию
- исправить исправить ошибку изменить документацию
- формат кода стиля (не влияет на функции, такие как исправления формата, такие как пробелы, точки с запятой и т. д.)
- рефакторинг кода рефакторинг
- производительность повышает производительность
- тестовый тест
- build изменяет сборку проекта или внешние зависимости (например, области действия: webpack, gulp, npm и т. д.).
- ci Измените файл конфигурации программного обеспечения непрерывной интеграции и команды скриптов в пакете, такие как области действия: Travis, Circle и т. д.
- рутинная работа Изменить процесс сборки или вспомогательный инструмент восстановить резервный код
scope
scope определяет область воздействия коммита. В соответствии с фактическим бизнес-подразделением или отделом разработки библиотеки компонентов его можно не указывать.
Body
Подробное описание фиксации, которое описывает подробное описание фиксации кода.
Footer
Нижний колонтитул обязателен, если фиксация кода является несовместимым изменением или закрывающим дефектом, в противном случае его можно опустить.
4. Зафиксируйте сообщение после использования плагина gitmoji-cli. Это очень мощно, типы очень богаты, а конфигурация очень проста.
(Сначала команду фиксации можно опустить, а диаграмму фиксации репозитория git можно отобразить напрямую)
gitmoji -i
✔ Gitmoji commit hook created successfully
➜ my-app git:(master) git add -A
➜ my-app git:(master) ✗ git commit
? Choose a gitmoji: (Use arrow keys or type to search)
🎨 - Improving structure / format of the code.
⚡️ - Improving performance.
🔥 - Removing code or files.
🐛 - Fixing a bug.
🚑 - Critical hotfix.
✨ - Introducing new features.
📝 - Writing docs.
✨ - Introducing new features.
📝 - Writing docs.
✅ - Updating tests.
🏁 - Fixing something on Windows.
🚨 - Removing linter warnings.
🚧 - Work in progress.
⬇️ - Downgrading dependencies.
🤖 - Fixing something on Android.
⏪ - Reverting changes.
❯ 🍻 - Writing code drunkenly.
🚸 - Improving user experience / usability.
? Choose a gitmoji: 🍻 - Writing code drunkenly.
? Enter the commit title [13/48]: 修改root下的App文件
? Enter the commit message: 去掉冗余代码
[master 235adf3] :beers: 修改root下的App文件
1 file changed, 1 insertion(+), 1 deletion(-)
Хаха, что это?
(Пей и коди 😁 ) Посмотри записи репозитория Git, есть ли силы?Ха-ха, разве не интересно иметь маленькую иконку перед фиксацией? Хорошо, давайте не будем нести чушь, давайте посмотрим на использование этих причудливых конфигураций коммитов, посмотрим, какая из них вам подходит, просто выберите одну.
Как настроить коммит
Установить инструменты командной строки Установить глобально
npm install -g commitizen cz-conventional-changelog
Создайте файл .czrc в своем домашнем каталоге с путем к предпочитаемому cz-conventional-changelog, глобально установленному адаптеру commitizen.
echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
Теперь любой репозиторий git на вашем компьютере и используйте git cz вместо git commit, вы найдете приглашение commitizen.
git add -A
git cz
Глобальная установка выполнена 😃 (глобальная установка, которую я выбрал ранее). Давайте посмотрим на установку в проекте
Установить в локальном проекте
npm install -D commitizen cz-conventional-changelog
// package.json t添加
"scripts": {
"commit": "git-cz" ,
....
},
"config": {
"commitizen": {"path": "node_modules/cz-conventional-changelog",
....
},
git add -A
yarn commit || npm run commit
Как настроить commitizen + cz-customizable
Глобальная конфигурация commitizen +cz-customizabal
npm install -g commitizen cz-customizable
на компьютереКорневая директорияСоздайте .czrc и выполните команду echo '{ "path": "cz-customizable" }' > ~/.czrc
touch .czrc .cz-config.js
echo '{ "path": "cz-customizable" }' > ~/.czrc
на компьютерекорневой каталог .cz-config.jsСледующее может быть настроеноcontent.cz-config.js, Теперь в любом репозитории git и используйте git cz вместо git commit, вы найдете приглашение commitizen.
После завершения настройки ремонт должен быть выполнен произвольно
git add -A
git cz
локальная конфигурация проекта
npm i -g commitizen
npm i -D cz-customizable
Настроен в Package Project.json
"scripts": { "test": "echo \"Error: no test specified\" && exit 1", "commit": "git-cz" },
"config": {
"commitizen": {
"path": "node_modules/cz-customizable"
}
}
в то же времяСоздайте .cz-config.js в ~/ (корневой каталог компьютера) или в каталоге проектаСодержимое входного файла такое же, как и у глобального .cz-config.js.
git add -A
yarn commit || npm run commit
посмотрите на картинку
Как настроить itmoji-cli
Установить глобально
npm i -g gitmoji-cli
в этом каталоге проекта
gitmoji -i
git add -A
git commit
Появится следующая диаграмма
Ниже моя запись коммита, это мой репозиторий коммитов git
Ниже приведена подробная информация о репозитории Git,Добро пожаловать в обсуждение. Приведенный выше код находится в (в хранилище)