ํ
SSH๋ฅผ ์ฌ์ฉํ์ฌ GitHub ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณต์ ํ๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ์๊ฒฉ ์ฆ๋ช ์ ์ฌ์ฉํ๋ ๋์ SSH ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆํ ์ ์์ต๋๋ค. SSH ์ฐ๊ฒฐ์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ SSH๋ฅผ ํตํ GitHub ์ฐ๊ฒฐ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
GitHub CLI
GitHub CLI๋ Git ์์
์ ๊ธฐ๋ณธ ํ๋กํ ์ฝ๋ก HTTPS
๊ฐ ์ ํ๋ ๊ฒฝ์ฐ ์๋์ผ๋ก Git ์๊ฒฉ ์ฆ๋ช
์ ์ ์ฅํ๊ณ GitHub ์๊ฒฉ ์ฆ๋ช
์ผ๋ก Git์ ์ธ์ฆํ ์ง ๋ฌป๋ ํ๋กฌํํธ์ โ์โ๋ผ๊ณ ๋๋ตํฉ๋๋ค.
- macOS, Windows ๋๋ Linux์ GitHub CLI๋ฅผ ์ค์นํฉ๋๋ค.
- ๋ช
๋ น์ค์์
gh auth login
์ ์ ๋ ฅํ๊ณ ํ๋กฌํํธ๋ฅผ ๋ฐ๋ฆ ๋๋ค.- Git ์์
์ ๊ธฐ๋ณธ ํ๋กํ ์ฝ์ ๋ฌป๋ ๋ฉ์์ง๊ฐ ํ์๋๋ฉด
HTTPS
๋ฅผ ์ ํํฉ๋๋ค. - GitHub ์๊ฒฉ ์ฆ๋ช
์ผ๋ก Git์ ์ธ์ฆํ ๊ฒ์ธ์ง ๋ฌป๋ ๋ฉ์์ง๊ฐ ํ์๋๋ฉด
Y
๋ฅผ ์ ๋ ฅํฉ๋๋ค.
- Git ์์
์ ๊ธฐ๋ณธ ํ๋กํ ์ฝ์ ๋ฌป๋ ๋ฉ์์ง๊ฐ ํ์๋๋ฉด
GitHub CLI์์ ์ธ์ฆํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ gh auth login
์ ์ฐธ์กฐํ์ธ์.
Git Credential Manager
GCM(Git Credential Manager)์ ์๊ฒฉ ์ฆ๋ช ์ ์์ ํ๊ฒ ์ ์ฅํ๊ณ HTTPS๋ฅผ ํตํด GitHub์ ์ฐ๊ฒฐํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋๋ค. GCM์ ์ฌ์ฉํ๋ฉด GCM์ด 2FA(2๋จ๊ณ ์ธ์ฆ)๋ฅผ ๋น๋กฏํ ์ธ์ฆ์ ์ฌ์ฉ์ ๋์ ๊ด๋ฆฌํ๋ฏ๋ก ์๋์ผ๋ก personal access token์(๋ฅผ) ๋ง๋ค๊ณ ์ ์ฅํ ํ์๊ฐ ์์ต๋๋ค.
-
Homebrew๋ฅผ ์ฌ์ฉํ์ฌ Git์ ์ค์นํฉ๋๋ค.
brew install git
-
Homebrew๋ฅผ ์ฌ์ฉํ์ฌ GCM์ ์ค์นํฉ๋๋ค.
brew install --cask git-credential-manager
macOS์ ๊ฒฝ์ฐ GCM์ด ์๋์ผ๋ก Git์ ๊ตฌ์ฑํ๋ฏ๋ก git config
๋ฅผ ์คํํ ํ์๊ฐ ์์ต๋๋ค.
๋ค์์ ์ธ์ฆ์ด ํ์ํ HTTPS URL์ ๋ณต์ ํ ๋ Git์์ ๋ธ๋ผ์ฐ์ ์ฐฝ์ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค. ๋จผ์ OAuth app์ ๊ถํ์ ๋ถ์ฌํ๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ ์ ์์ต๋๋ค. ๊ณ์ ๋๋ ์กฐ์ง์ 2๋จ๊ณ ์ธ์ฆ์ด ํ์ํ ๊ฒฝ์ฐ 2FA ๊ณผ์ ๋ ์๋ฃํด์ผ ํฉ๋๋ค.
์ฑ๊ณต์ ์ผ๋ก ์ธ์ฆ๋๋ฉด ์๊ฒฉ ์ฆ๋ช ์ด macOS ํค ์งํฉ์ ์ ์ฅ๋๊ณ HTTPS URL์ ๋ณต์ ํ ๋๋ง๋ค ์ฌ์ฉ๋ฉ๋๋ค. ์๊ฒฉ ์ฆ๋ช ์ ๋ณ๊ฒฝํ์ง ์๋ ํ, Git์์ ๋ช ๋ น์ค์ ์๊ฒฉ ์ฆ๋ช ์ ๋ค์ ์ ๋ ฅํ๋๋ก ์๊ตฌํ์ง ์์ต๋๋ค.
- GCM์ ํฌํจํ๋ Git for Windows๋ฅผ ์ค์นํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฆด๋ฆฌ์ค ํ์ด์ง์์ Git for Windows ๋ฆด๋ฆฌ์ค๋ฅผ ์ฐธ์กฐํ์ธ์.
ํญ์ ์ต์ ๋ฒ์ ์ ์ค์นํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ต์ํ GitHub์ ๋ํ OAuth ์ง์์ ์ ๊ณตํ๋ ์ฒซ ๋ฒ์งธ ๋ฒ์ ์ธ ๋ฒ์ 2.29 ์ด์์ ์ค์นํฉ๋๋ค.
๋ค์์ ์ธ์ฆ์ด ํ์ํ HTTPS URL์ ๋ณต์ ํ ๋ Git์์ ๋ธ๋ผ์ฐ์ ์ฐฝ์ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค. ๋จผ์ OAuth app์ ๊ถํ์ ๋ถ์ฌํ๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ ์ ์์ต๋๋ค. ๊ณ์ ๋๋ ์กฐ์ง์ 2๋จ๊ณ ์ธ์ฆ์ด ํ์ํ ๊ฒฝ์ฐ 2FA ๊ณผ์ ๋ ์๋ฃํด์ผ ํฉ๋๋ค.
์ฑ๊ณต์ ์ผ๋ก ์ธ์ฆ๋๋ฉด ์๊ฒฉ ์ฆ๋ช ์ด Windows Credential Manager์ ์ ์ฅ๋๊ณ HTTPS URL์ ๋ณต์ ํ ๋๋ง๋ค ์ฌ์ฉ๋ฉ๋๋ค. ์๊ฒฉ ์ฆ๋ช ์ ๋ณ๊ฒฝํ์ง ์๋ ํ, Git์์ ๋ช ๋ น์ค์ ์๊ฒฉ ์ฆ๋ช ์ ๋ค์ ์ ๋ ฅํ๋๋ก ์๊ตฌํ์ง ์์ต๋๋ค.
๊ฒฝ๊ณ
์ด์ ๋ฒ์ ์ Git for Windows๋ Windows์ฉ Git Credential Manager์ ํจ๊ป ์ ๊ณต๋์์ต๋๋ค. ์ด์ ์ ํ์ ๋ ์ด์ ์ง์๋์ง ์์ผ๋ฉฐ OAuth๋ฅผ ํตํด GitHub์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์ต์ ๋ฒ์ ์ Git for Windows๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ฒฝ๊ณ
Windows์ฉ ์๊ฒฉ ์ฆ๋ช ๊ด๋ฆฌ์์์ ์๋ชป๋์๊ฑฐ๋ ์ค๋๋ ์๊ฒฉ ์ฆ๋ช ์ ์บ์ํ ๊ฒฝ์ฐ Git์์ GitHub์ ์ก์ธ์คํ์ง ๋ชปํฉ๋๋ค. Git์์ ์๊ฒฉ ์ฆ๋ช ์ ์ ๋ ฅํ๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋๋๋ก ์บ์๋ ์๊ฒฉ ์ฆ๋ช ์ ์ด๊ธฐํํ๋ ค๋ฉด Windows ์ ์ดํ์ ์ฌ์ฉ์ ๊ณ์ > ์๊ฒฉ ์ฆ๋ช ๊ด๋ฆฌ์์์ ์๊ฒฉ ์ฆ๋ช ๊ด๋ฆฌ์์ ์ก์ธ์คํฉ๋๋ค. GitHub ํญ๋ชฉ์ ์ฐพ์ ์ญ์ ํฉ๋๋ค.
Linux์ ๊ฒฝ์ฐ Git ๋ฐ GCM์ ์ค์นํ ๋ค์, GCM์ ์ฌ์ฉํ๋๋ก Git์ ๊ตฌ์ฑํฉ๋๋ค.
-
๋ฐฐํฌํ์ ํจํค์ง ์์คํ ์์ Git์ ์ค์นํฉ๋๋ค. ์ง์นจ์ ์คํํ๋ Linux ๋ฒ์ ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
-
GCM์ ์ค์นํฉ๋๋ค. GCM ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ง์นจ์ ์ฐธ์กฐํ์ธ์. ์ง์นจ์ ์คํํ๋ Linux ๋ฒ์ ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
-
GCM์ ์ฌ์ฉํ๋๋ก Git์ ๊ตฌ์ฑํฉ๋๋ค. ์ ํํ ์ ์๋ ๋ฐฑ์ ์ ์ฅ์๊ฐ ์ฌ๋ฌ ๊ฐ ์์ผ๋ฏ๋ก GCM ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ฌ ์ค์ ์ ์๋ฃํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ GCM Linux๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์์ ์ธ์ฆ์ด ํ์ํ HTTPS URL์ ๋ณต์ ํ ๋ Git์์ ๋ธ๋ผ์ฐ์ ์ฐฝ์ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค. ๋จผ์ OAuth app์ ๊ถํ์ ๋ถ์ฌํ๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ ์ ์์ต๋๋ค. ๊ณ์ ๋๋ ์กฐ์ง์ 2๋จ๊ณ ์ธ์ฆ์ด ํ์ํ ๊ฒฝ์ฐ 2FA ๊ณผ์ ๋ ์๋ฃํด์ผ ํฉ๋๋ค.
์ฑ๊ณต์ ์ผ๋ก ์ธ์ฆ๋๋ฉด ์๊ฒฉ ์ฆ๋ช ์ด ํด๋น ์์คํ ์ ์ ์ฅ๋๊ณ HTTPS URL์ ๋ณต์ ํ ๋๋ง๋ค ์ฌ์ฉ๋ฉ๋๋ค. ์๊ฒฉ ์ฆ๋ช ์ ๋ณ๊ฒฝํ์ง ์๋ ํ, Git์์ ๋ช ๋ น์ค์ ์๊ฒฉ ์ฆ๋ช ์ ๋ค์ ์ ๋ ฅํ๋๋ก ์๊ตฌํ์ง ์์ต๋๋ค.
Linux์ ์๊ฒฉ ์ฆ๋ช ์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ Pro Git์์ ์๊ฒฉ ์ฆ๋ช ์คํ ๋ฆฌ์ง๋ฅผ ์ฐธ์กฐํ์ธ์.
์์ธํ ๋ด์ฉ์ ๋ณด๊ฑฐ๋ GCM ๊ด๋ จ ์ด์๋ฅผ ๋ณด๊ณ ํ๋ ค๋ฉด Git ์๊ฒฉ ์ฆ๋ช ๊ด๋ฆฌ์์์ ๊ณต์ GCM ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.