Warning: mkdir(): No space left on device in /var/www/hottg/post.php on line 59

Warning: file_put_contents(aCache/aDaily/2025-07-22/post/qa_hub_2gis/--): Failed to open stream: No such file or directory in /var/www/hottg/post.php on line 72
πŸ› οΈ Git Hooks для ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ²: ΠΏΠΎΡ‡Π΅ΠΌΡƒ стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ @Π“Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ ЭквивалСнтности
TG Telegram Group & Channel
Π“Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ ЭквивалСнтности | United States America (US)
Create: Update:

πŸ› οΈ Git Hooks для ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ²: ΠΏΠΎΡ‡Π΅ΠΌΡƒ стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
Git Hooks β€” ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ, ΠΏΡƒΡˆΠ°ΠΌΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ дСйствиями Π² Git. Он позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ тСстировщикам ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ с ΠΏΠ»ΠΎΡ…ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ тСсты, Π»ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ прямо ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ качСство ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ошибки Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Git Hooks:
Рассмотрим настройку pre-commit hook, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° соотвСтствиС стандартам с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»ΠΈΠ½Ρ‚Π΅Ρ€Π° flake8.

Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ pre-commit hook:
1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» .git/hooks/pre-commit Π² вашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.
2. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ содСрТимого Ρ„Π°ΠΉΠ»Π° .git/hooks/pre-commit:


#!/bin/bash
cd ./tests && flake8


Π­Ρ‚ΠΎΡ‚ скрипт ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ с тСстами ΠΈ запускаСт flake8 для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄Π°. Если Π»ΠΈΠ½Ρ‚Π΅Ρ€ Π½Π°ΠΉΠ΄Ρ‘Ρ‚ ошибки, ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½, ΠΈ Π²Ρ‹ смоТСтС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ git hooks Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅? ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π² коммСнтариях πŸ’¬

#qahub_edu

πŸ› οΈ Git Hooks для ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ²: ΠΏΠΎΡ‡Π΅ΠΌΡƒ стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
Git Hooks β€” ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°ΠΌΠΈ, ΠΏΡƒΡˆΠ°ΠΌΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ дСйствиями Π² Git. Он позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ тСстировщикам ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ с ΠΏΠ»ΠΎΡ…ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ тСсты, Π»ΠΈΠ½Ρ‚Π΅Ρ€Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ прямо ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ качСство ΠΊΠΎΠ΄Π° ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ошибки Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Git Hooks:
Рассмотрим настройку pre-commit hook, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° соотвСтствиС стандартам с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»ΠΈΠ½Ρ‚Π΅Ρ€Π° flake8.

Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ pre-commit hook:
1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» .git/hooks/pre-commit Π² вашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ.
2. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ содСрТимого Ρ„Π°ΠΉΠ»Π° .git/hooks/pre-commit:

#!/bin/bash
cd ./tests && flake8


Π­Ρ‚ΠΎΡ‚ скрипт ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ с тСстами ΠΈ запускаСт flake8 для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄Π°. Если Π»ΠΈΠ½Ρ‚Π΅Ρ€ Π½Π°ΠΉΠ΄Ρ‘Ρ‚ ошибки, ΠΊΠΎΠΌΠΌΠΈΡ‚ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½, ΠΈ Π²Ρ‹ смоТСтС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ git hooks Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅? ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π² коммСнтариях πŸ’¬

#qahub_edu
πŸ‘10❀2


>>Click here to continue<<

Π“Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ ЭквивалСнтности




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)


Warning: Undefined array key 3 in /var/www/hottg/function.php on line 115

Fatal error: Uncaught mysqli_sql_exception: Too many connections in /var/www/db.php:16 Stack trace: #0 /var/www/db.php(16): mysqli_connect() #1 /var/www/hottg/function.php(212): db() #2 /var/www/hottg/function.php(115): select() #3 /var/www/hottg/post.php(351): daCache() #4 /var/www/hottg/route.php(63): include_once('...') #5 {main} thrown in /var/www/db.php on line 16