
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ ΡΠ΅Π³ΠΎΠ² ΠΊΠ»ΡΡΠΎΠΌ GPG, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ GPG Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ.
Π¨ΠΏΠ°ΡΠ³Π°Π»ΠΊΠ°
ΠΠ΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ:
gitΒ commitΒ -mΒ "UnsignedΒ commit" gitΒ log
ΠΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ:
ΠΡΠ»ΠΈ Π²Π°ΡΠΈ Π°Π΄ΡΠ΅ΡΠ° ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ git ΠΈ gpg-ΠΊΠ»ΡΡΠ° ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π½Π΅ΡΠ΄Π°ΡΠ΅, ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ Π½Π°ΡΡΡΠΎΠΈΡΠ΅ ΡΠ²ΠΎΠΉ git signingkey
gitΒ commitΒ -SΒ -mΒ "SignedΒ commit" gitΒ logΒ --show-signature
ΠΠ΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠ΅Π³:
gitΒ tagΒ lightweight-tag gitΒ showΒ lightweight-tag gitΒ tagΒ -amΒ ""Β unsigned-annotated-tag gitΒ showΒ unsigned-annotated-tag
ΠΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠ΅Π³:
gitΒ tagΒ -smΒ ""Β signed-tag gitΒ showΒ signed-tag
ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π°Π²ΡΠΎΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΡ:
gitΒ commitΒ --no-gpg-signΒ -mΒ "UnsignedΒ commit" gitΒ tagΒ --no-signΒ unsigned-lightweight-tag
ΠΠΌΠΏΠΎΡΡ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° GPG Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊΠ»ΡΡΠ΅ΠΉ
Π‘ ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ 2021 Π³ΠΎΠ΄Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΊΠ»ΡΡΠ΅ΠΉ gpg Π±ΡΠ» ΠΎΡΠΊΠ»ΡΡΠ΅Π½ ΠΎΡ ΡΠ΅ΡΠΈ, Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ±ΡΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ https://en.wikipedia.org/wiki/Key_server_(cryptographic).
ΠΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ keyserver.ubuntu.com Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ½ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΈ Π²ΡΡΠ΄ Π»ΠΈ ΠΈΡΡΠ΅Π·Π½Π΅Ρ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈΠ±ΠΎ Π²ΡΡΠ°Π²ΠΈΡΡ βkeyserver keyserver.ubuntu.com Π² ΠΊΠ°ΠΆΠ΄ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ, Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°Ρ ~/.gnupg/gpg.conf, Π½Π°ΠΉΠ΄Ρ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ keyserver hkp://keys.gnupg.net ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΠ² Π΅Π΅ Π½Π° keyserver hkp://keyserver.ubuntu.com.
ΠΡ Π²ΡΠ±ΡΠ°Π»ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ gpg.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π²ΡΡΡΠΏΠ°Π΅Ρ Π² ΡΠΈΠ»Ρ ΡΡΠ°Π·Ρ.
ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ Π°Π³Π΅Π½Ρ.
gpgΒ --search-keysΒ itsecforu@gmail.com gpgΒ --recv-keysΒ D2AD01A3FC57C925 ΠΡΠΈΒ ΠΆΠ΅Π»Π°Π½ΠΈΠΈΒ ΠΌΠΎΠΆΠ½ΠΎΒ ΡΠ΄Π΅Π»ΠΈΡΡΒ ΠΊΠ»ΡΡ. gpgΒ --delete-keysΒ itsecforu@gmail.com
ΠΡΠΏΡΠ°Π²ΠΈΠΌ ΡΠ²ΠΎΠΉ ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ GPG Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΊΠ»ΡΡΠ΅ΠΉ
gpgΒ --list-keysΒ --keyid-formatΒ LONGΒ gpgΒ --send-keysΒ
ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½ΡΡΡΡΡ Ρ ΠΊΠ΅ΠΌ-ΡΠΎ ΠΊΠ»ΡΡΠ°ΠΌΠΈ, ΠΈ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠ»ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΠ΅ Π΄Π°ΡΡ Π΅Π³ΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠΌΠΏΠΎΡΡ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° GPG Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
ΠΡΡΡΡ ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡ ΡΡΠΎ, ΡΡΠΎΠ±Ρ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ GPG ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π²Π°ΠΌ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
[/simterm] $ gpg βimport theirname.gpg.pub[/simterm]
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ ΠΏΡΠΈ ΠΌΠ΅ΡΠ΄ΠΆΠ΅ Π²Π΅ΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ git
Β ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ ΡΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉ .gitconfig Π΄Π»Ρ Π°Π²ΡΠΎΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ².
gitΒ checkoutΒ -bΒ feaure-something touchΒ somefileΒ &&Β gitΒ addΒ -AΒ &&Β gitΒ commitΒ -mΒ βHelloΒ worldβ gitΒ checkoutΒ master gitΒ mergeΒ --verify-signaturesΒ feature-something
ΠΠ° GitHub Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ settings -> branches -> branch protection rules, ΡΡΠ΅Π±ΡΡΡΠ΅Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² 1 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π²Π΅ΡΠΊΠ°Ρ .
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π° Π½Π° ΡΡΠΎΠ²Π½Π΅ pr Π² GitHub.
ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΄Π΅Π»Π°Π΅ΡΠ΅ Π²ΡΠ΅ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π½Π° GitHub, ΡΠΎ Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ², ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ GPG ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΠΈΠ»ΠΈΠΉ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΡΠ°ΠΊ ΠΈ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ.