GitHub์ ์๋ก์ด remote repository๋ฅผ ๋ง๋ค๊ณ ๊ธฐ์กด IntelliJ ํ๋ก์ ํธ(๋ชจ๋)์ ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ค๋ฃฌ๋ค.
IntelliJ๋ 2019.3 ๋ฒ์ ์ ๊ธฐ์ค์ผ๋ก ํ๋ค.
๊ณผ์ ์ ๋ค์ ์์๋ก ์งํ๋๋ค.
- GitHub remote repository ์์ฑํ๊ธฐ
- IntelliJ์ GitHub ๊ณ์ ๋ฑ๋กํ๊ธฐ
- IntelliJ์ remote repository ๋ฑ๋กํ๊ธฐ
- ๊ธฐ์กด ํ๋ก์ ํธ(๋ชจ๋)๋ก Git local repository๋ฅผ ๋ง๋ค๊ณ Commit, Push
IntelliJ์์ Git์ ์ฌ์ฉํ๋ ค๋ฉด PC์ Git์ ์ค์นํ๊ณ Git ๋ฐ์ด๋๋ฆฌ ํ์ผ์ IntelliJ์ ๋ฑ๋กํด์ผ ํ๋ค.
์ด๊ฒ ๋์ด์์ง ์์ผ๋ฉด ๋ค์ ๋ด์ฉ์ ์ฐธ๊ณ ํด์ ์ ํํด๋์ด์ผ ํ๋ค.
Git ํ๋ฌ๊ทธ์ธ ํ์ธ
Settings - Plugins์์ ์ค์น ์ฌ๋ถ์ ํ์ฑํ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์๋ค.
Installed ํญ์ ํด๋ฆญํ๊ณ git์ ๊ฒ์ํ์ฌ Git, GitHub ํ๋ฌ๊ทธ์ธ์ด ์ค์น๋์ด ์๋์ง, ํ์ฑํ ์ํ์ธ์ง ํ์ธํ๋ค.
Disable ๋ฒํผ์ด ๋ณด์ด๋ฉด ํ์ฑํ๋ ์ํ์ด๋ค.
IntelliJ IDEA 2019.3์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค์น, ํ์ฑํ๋์ด์๋ค.
Git ๋ค์ด๋ก๋ ๋ฐ ์ค์น
- ์๋์ฐ์ฉ Git ๋ค์ด๋ก๋ ๋ฐ ์ค์นํ๊ธฐ - ์ค์น ์ต์ ์ ๋ํ ์์ธํ ์ค๋ช ํฌํจ
IntelliJ์ Git ์คํํ์ผ ๊ฒฝ๋ก ์ง์
Settings - Version Control - Git์ ํด๋ฆญํ๋ค.
Path to Git executable์ Git ์คํํ์ผ์ ์ง์ ํ๊ณ [Test]๋ฅผ ํด๋ฆญํ์ฌ ์ ์์ ์ผ๋ก ์คํ๋๋์ง ํ ์คํธํด๋ณธ๋ค.
Git ์คํํ์ผ git.exe๋ Git ์ค์น ๋๋ ํ ๋ฆฌ\bin ํ์์ ์๋ค.
1. GitHub Remote Repository ์์ฑํ๊ธฐ
Git์ ๋ก์ปฌ repository๊ฐ ์์ด์ ์๊ฒฉ repository๊ฐ ๋ฐ๋์ ํ์ํ๊ฑด ์๋์ง๋ง Git ์ฌ์ฉ์๋ค์ ๋๋ถ๋ถ ์๊ฒฉ repository๋ฅผ ์ฌ์ฉํ๋ค. GitHub์์ ๋ฌด๋ฃ ์๊ฒฉ repository๋ฅผ ์ ๊ณตํ๋ฏ๋ก ์ด๋ฅผ ์ด์ฉํ๋๋ก ํ๊ฒ ๋ค.
GitHub ๊ณ์ ์ด ์์ผ๋ฉด ์์ฑํ๊ณ https://github.com/new๋ก ์ ์ํด์ GitHub repository๋ฅผ ์์ฑํ๋ค.
- Repository name : ์ ์ฅ์ ์ด๋ฆ์ ์ง์ ํ๋ค. Url์ ์ฌ์ฉ๋๋ฏ๋ก ๊ฐ๋จํ๊ฒ ์ข๋ค.
- Description : ์ ์ฅ์ ์ค๋ช ์ ๊ธฐ์ ํ๋ค.
- Public / Private : ๊ณต๊ฐ ๋ฒ์๋ฅผ ์ค์ ํ๋ค. Public์ ๋๊ตฌ์๊ฒ๋ ๊ณต๊ฐ๋๊ณ Private์ ๊ณต๊ฐ๋์ง ์๋๋ค. ๋ ์ต์ ๋ค ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ง ์ ์ฅ์๋ก Commitํ ์ ์๋ค.
- Initialize this repository with a README : ์ฒดํฌํ๋ฉด ์๋์ผ๋ก ๋ก์ปฌ repository์ README.md ํ์ผ์ ์์ฑํ๋ค. IntelliJ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ๋ฅผ local repository๋ก ๋ง๋ค๊ฒ์ด๋ฏ๋ก ์ฒดํฌํ์ง ์๋๋ค.
ํ์ ํญ๋ชฉ์ ์์ฑํ๊ณ Create repository๋ฅผ ํด๋ฆญํด์ repository๋ฅผ ๋ง๋ ๋ค.
์ด๋ ๊ฒ ์ ์ฅ์๋ฅผ ๋ง๋ค๊ณ ๋๋ฉด Initialize this repository with a README ์ต์ ์ ์ฌ์ฉํ์ง ์์๊ธฐ ๋๋ฌธ์ ์์ ๊ฐ์ด ๋ก์ปฌ ์ ์ฅ์๋ฅผ ๋ง๋ค๊ณ ์ด๊ธฐํํ๋ ๊ฒ์ ๋ํ ๊ฐ์ด๋๊ฐ ํ์๋๋ค.
๊ธฐ์กด์ IntelliJ ํ๋ก์ ํธ๋ฅผ ๋ก์ปฌ ์ ์ฅ์๋ก ๋ง๋ค๊ณ ์ด ์๋ก ๋ง๋ ์๊ฒฉ ์ ์ฅ์์ pushํ ๊ฒ์ด๋ฏ๋ก ์๋ ๊ณผ์ ์ ๋ฐ๋ฅธ๋ค.
2. IntelliJ์ GitHub ๊ณ์ ๋ฑ๋กํ๊ธฐ
Settings ์ฐฝ์์ Version Control - GitHub์ ์ ํํ๊ณ ์ฐ์ธก [+] ๋ฒํผ์ ํด๋ฆญํด์ Log In to GitHub ์ฐฝ์ ๋์ด๋ค.
๊ณ์ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๊ณ [Log In]์ ํด๋ฆญํ๋ค.
[OK]๋ฅผ ํด๋ฆญํ์ฌ ๊ณ์ ๋ฑ๋ก์ ์๋ฃํ๋ค.
์ฐธ๊ณ ๋ก ์ฐ์ธก [V] ๋ฒํผ์ ํด๋ฆญํ๋ฉด ์ ํํ ๊ณ์ ์ default๋ก ์ฌ์ฉํ๋๋ก ํ ์ ์๋ค.
3. IntelliJ์ Remote Repository ๋ฑ๋กํ๊ธฐ
VCS - Git - Remotes...๋ฅผ ํด๋ฆญํ๋ค.
[+]์ ํด๋ฆญํ๋ค.
์๋ก ๋ง๋ GitHub remote repository url์ ์ ๋ ฅํ๊ณ [OK]๋ฅผ ํด๋ฆญํ๋ค.
4. ๊ธฐ์กด ๋ชจ๋๋ก Git Local Repository ๋ง๋ค๊ณ Commit, Push
์๋ก ๋ง๋ remote repository์ ์ฐ๋ํ ๊ธฐ์กด ๋ชจ๋์ Git local repository๋ก ๋ง๋ ๋ค.
VCS - Import into Version Control - Create Git Repository...๋ฅผ ํด๋ฆญํ๋ค.
๋ชจ๋์ ์ ํํ๊ณ [OK]๋ฅผ ํด๋ฆญํ๋ค.
Settings - Version Control์ ๋ก์ปฌ ์ ์ฅ์๋ก ๋ง๋ ๋ชจ๋์ด ์๋์ผ๋ก ์ถ๊ฐ๋๋ค.
Local repository๋ก ๋ง๋ค๊ณ ๋๋ฉด Project ๋ทฐ์์ ํ์ผ๋ช ์ด ๋ถ์์์ผ๋ก ํ์๋๋ค.
๋ชจ๋ ์์ ๋๋ ํ ๋ฆฌ/ํ์ผ์ ์ ํํ๊ณ VCS - Git - Add๋ฅผ ํด๋ฆญํ๋ค.
Addํ๊ณ ๋๋ฉด ํ์ผ๋ช ์ด ์ด๋ก์์ผ๋ก ํ์๋๋ค. VCS - Commit์ ํด๋ฆญํ๋ค.
Commit Message๋ฅผ ์ ๋ ฅํ๊ณ [Commit and Push...]๋ฅผ ํด๋ฆญํ๋ค.
[Commit]์ด ์๋ [Commit and Push]๋ฅผ ์ ํํ๊ธฐ ๋๋ฌธ์ Commit์ด ์๋ฃ๋๋ฉด Push ์ฐฝ์ด ๋ฐ๋ก ๋ฌ๋ค.
[Push]๋ฅผ ํด๋ฆญํ๋ค.
Version Control ๋ทฐ์ Console ํญ์์ IntelliJ๊ฐ Git bash๋ก ์ค์ ์ด๋ค ๋ช ๋ น์ ๋ ๋ฆฌ๊ณ ์ด๋ค ์๋ต์ ๋ฐ์๋์ง ํ์ธํ ์ ์๋ค.
์์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋๋ฉด ์ ์์ ์ผ๋ก Push๊ฐ ์๋ฃ๋ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ GitHub repository์ ๊ธฐ์กด ๋ชจ๋์ด ์ ์์ ์ผ๋ก ์ฐ๋๋์๋ค.
๋๊ธ