Skip to main content

์ปค๋ฐ‹ ์„œ๋ช…

GPG, SSH ๋˜๋Š” S/MIME๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ๋กœ ์ปค๋ฐ‹์— ์„œ๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ  ํ•ญ๋ชฉ

GitHub Desktop์€ ๊ธฐ๋ณธ์ ์œผ๋กœ Git ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ปค๋ฐ‹์— ์„œ๋ช…ํ•˜๋„๋ก ๊ตฌ์„ฑ๋œ ๊ฒฝ์šฐ์—๋งŒ ์ปค๋ฐ‹ ์„œ๋ช…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

ํŒ

๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ปค๋ฐ‹์— ๊ธฐ๋ณธ์ ์œผ๋กœ ์„œ๋ช…ํ•˜๋„๋ก Git ํด๋ผ์ด์–ธํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด Git ๋ฒ„์ „ 2.0.0 ์ด์ƒ์—์„œ git config commit.gpgsign true๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ์˜ ๋ชจ๋“  ๋กœ์ปฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ์ปค๋ฐ‹์— ์„œ๋ช…ํ•˜๋ ค๋ฉด git config --global commit.gpgsign true์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ปค๋ฐ‹์— ์„œ๋ช…ํ•  ๋•Œ๋งˆ๋‹ค ์ž…๋ ฅํ•  ํ•„์š”๊ฐ€ ์—†๋„๋ก GPG ํ‚ค ์•”ํ˜ธ๋ฅผ ์ €์žฅํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

  • Mac ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ GPG Suite๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด macOS ํ‚ค์ฒด์ธ์— GPG ํ‚ค ์•”ํ˜ธ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Windows ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ Gpg4win์€ ๋‹ค๋ฅธ Windows ๋„๊ตฌ์™€ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค.

GPG ํ‚ค ์•”ํ˜ธ๋ฅผ ์ €์žฅํ•˜๋„๋ก gpg-agent๋ฅผ ์ˆ˜๋™์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์ด๋Š” ssh-agent์™€ ๊ฐ™์€ macOS ํ‚ค์ฒด์ธ๊ณผ ํ†ตํ•ฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ๋” ๋งŽ์€ ์„ค์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ‚ค๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ๊ฑฐ๋‚˜ ์ปค๋ฐ‹์ž ID์™€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ํ‚ค๋กœ ์ปค๋ฐ‹ ๋˜๋Š” ํƒœ๊ทธ์— ์„œ๋ช…ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์„œ๋ช… ํ‚ค์— ๋Œ€ํ•ด Git์— ์•Œ๋ฆฌ๊ธฐ๋ฅผ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋กœ์ปฌ ๋ถ„๊ธฐ์—์„œ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ปค๋ฐ‹ํ•  ๋•Œ git ์ปค๋ฐ‹ ๋ช…๋ น์— -S ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    $ git commit -S -m "YOUR_COMMIT_MESSAGE"
    # Creates a signed commit
    
  2. GPG๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ปค๋ฐ‹์„ ๋งŒ๋“  ํ›„ GPG ํ‚ค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์„ค์ •ํ•œ ์•”ํ˜ธ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  3. ๋กœ์ปฌ๋กœ ์ปค๋ฐ‹ ๋งŒ๋“ค๊ธฐ๋ฅผ ๋งˆ์ณค์œผ๋ฉด GitHub์—์„œ ์›๊ฒฉ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค.

    $ git push
    # Pushes your local commits to the remote repository
    
  4. GitHub์—์„œ ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

  5. ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์—์„œ ์ปค๋ฐ‹์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ๋Œ์–ด์˜ค๊ธฐ ์š”์ฒญ์˜ ์ œ๋ชฉ ๋ฐ ํƒญ ์Šคํฌ๋ฆฐ์ƒท. "์ปค๋ฐ‹" ํƒญ์ด ์ง„ํ•œ ์ฃผํ™ฉ์ƒ‰ ์œค๊ณฝ์„ ์œผ๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  6. ํ™•์ธ๋œ ์„œ๋ช…์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ํ™•์ธ๋จ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ์ปค๋ฐ‹ ๋ชฉ๋ก์˜ ์ปค๋ฐ‹ ์Šคํฌ๋ฆฐ์ƒท. "ํ™•์ธ๋จ"์ด ์ฃผํ™ฉ์ƒ‰ ์œค๊ณฝ์„ ์œผ๋กœ ๊ฐ•์กฐ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ์ฐธ๊ณ  ์ž๋ฃŒ