์ดํด๋ฆฝ์ค๋ฅผ ์ด์ฉํ๊ฑฐ๋ STS๋ฅผ ์ด์ฉํ๊ฑฐ๋ ๋ด๊ฐ ์์ ์ค์ธ ํ๋ก์ ํธ ํ์ผ์ ์ด๋๊ฐ์ ๊ณต์ ํด์ ์ฌ์ฉํ๋ ค๋ฉด ํ์๊ด๋ฆฌ ํด์ด ํ์ํ๋ค. ๋ค์ํ ํ์๊ด๋ฆฌ ํด์ด ์์ง๋ง ๋ํ์ ์ธ SVN, ๊นํ๋ธ๊ฐ ์์๊ฒ์ด๋ค. ๊ทธ์ค Github๋ ํ ์๋์ ๋ํ์ ์ธ ํ์๊ด๋ฆฌ๋ฅผ ์ ๊ณตํ๋ค. ๊ผญ ํ์๊ด๋ฆฌ๋ง์ด ๋ํ์ ์ธ ๊ธฐ๋ฅ์ ์๋ํ ์ง๋ง ๋ง์ ๊ฐ๋ฐ์๋ค์ด ๊นํ๋ธ๋ก ์์ ์ ์์ค ํ์ผ์ ๊ณต์ ํ๊ณ ์๋ค. ๊ทธ๋์ ์ด๋ฒ ๊ฒ์๊ธ์ ๋ด๊ฐ ๊ฐ๋ฐ์ค์ธ ํ๋ก์ ํธ๋ฅผ ๊นํ๋ธ์ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์.
STS(Spring Tool Suite) ํ๋ก์ ํธ ๊นํ๋ธ(Github)์ ์ฐ๋ ํ๋ ๋ฐฉ๋ฒ
1. ๊ณต์ ํ๊ณ ์ถ์ ํ๋ก์ ํธ ์ฐํด๋ฆญ ๋ฉ๋ด์์ Team > Share Project ๋ฉ๋ด๋ฅผ ์ ํํฉ๋๋ค.
2. Share Project ํญ๋ชฉ์์ repository type์ 'Git'์ผ๋ก ์ ํ ํ, Next ๋ฒํผ์ ๋๋ฌ ๋ค์์ผ๋ก ์งํํฉ๋๋ค.
3. 'Configure Git Repository' ํญ๋ชฉ์ 'Use or create repository in parent folder of project' ์ฒดํฌ๋ฐ์ค๋ฅผ ์ฒดํฌํ๋ค. ๊ณต์ ํ๊ณ ์ ํ๋ ํ๋ก์ ํธ๋ฅผ ์ ํ ํ, 'Create Repository' ๋ฒํผ์ ์ ํํ๊ณ Finish ๋ฒํผ์ ๋๋ฌ ๋ค์์ผ๋ก ์งํํฉ๋๋ค.
4. ๊ณต์ ํ๊ณ ์ ํ๋ ํ๋ก์ ํธ ์ฐํด๋ฆญ ํ, Team > Commit ๋ฉ๋ด๋ฅผ ์ ํํฉ๋๋ค.
5. 'Unstaged Changes' ํญ๋ชฉ์ ํ์ผ๋ค์ 'Staged Changes' ํญ๋ชฉ์ผ๋ก ์ด๋ ํ, Commit and Push ๋ฒํผ์ ์ ํํฉ๋๋ค.
6. ๊นํ๋ธ๋ก์ Push๋ฅผ ์งํํ๋ ค๋ฉด ๊นํ๋ธ Repository URL๊ณผ ๊ณ์ ์ ๋ณด๊ฐ ํ์ํฉ๋๋ค. 'Destination Git Repository' ํญ๋ชฉ์์ ๊นํ๋ธ Repository ๋งํฌ์ ๊ณ์ ์ ๋ณด๋ฅผ ์ ๋ ฅํฉ๋๋ค.
๊นํ๋ธ Repository ๋งํฌ์ ๋ณด์ ๊ณ์ ์ ๋ณด๋ ๊นํ๋ธ์์ ์ฐธ๊ณ ํ ์ ์์ต๋๋ค. ์๋กญ๊ฒ Push๋ฅผ ์งํํ Repository๋ ๊นํ๋ธ๋ก ์ ์ํ์ฌ 'New' ๋ฒํผ์ ๋๋ฌ ์งํํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ณ์ ์ ๋ณด๋ ๊นํ๋ธ ๋ก๊ทธ์ธ ์ ์ฌ์ฉํ ๊ณ์ ์ ๋ณด๊ฐ ์๋๋๋ค. 'User'๋ ๊นํ๋ธ ๋ก๊ทธ์ธ ์ ์ฌ์ฉํ ์์ด๋์ด๊ณ , ๋น๋ฐ๋ฒํธ๋ ๊นํ๋ธ ๊ฐ์ธ ํ ํฐ ๊ฐ์ ๋๋ค. ์๋ ๋ด์ฉ์ ํตํด์ ๊นํ๋ธ ๊ณต์ ๋งํฌ์ ๊ณ์ ์ ๋ณด๋ฅผ ์ป๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
๊นํ๋ธ(GitHub) Repository ์์ฑ
7. ๊นํ๋ธ ๊ณต์ ํํ์ด์ง์ ๋ก๊ทธ์ธ ํ, 'New' ๋ฒํผ์ ์ ํํฉ๋๋ค.
8. 'Create a new repository' ํญ๋ชฉ์ Repository name์ ์ ๋ ฅ ํ, Create Repository ๋ฒํผ์ ์ ํํฉ๋๋ค.
9. ์๋ ํ๋ฉด์์์ Git ์ฐ๊ฒฐ์ ์ํ ๋งํฌ๋ฅผ ๋ณต์ฌํฉ๋๋ค.
9๋ฒ์์ ๋ณต์ฌํ ๋งํฌ๊ฐ 6๋ฒ์์ ์งํํ ๊นํ๋ธ URI ์ ๋ ฅ์ ๋ค์ด๊ฐ ์ ๋ณด์ ๋๋ค.
๊นํ๋ธ(GitHub) ํ ํฐ ์์ฑ
๊นํ๋ธ ํ ํฐ์ 'Personal access token' ์ผ๋ก ๊นํ๋ธ๋ก์ Push๋ฅผ ์งํํ ๋ ์ธ์ฆ/์ธ๊ฐ์ ๋น๋ฐ๋ฒํธ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๊นํ๋ธ ๊ฐ์ธ ์ค์ ์์ ํ ํฐ์ ๋ฐ๊ธ๋ฐ์ ๋น๋ฐ๋ฒํธ๋ก ์ฌ์ฉํด์ผํฉ๋๋ค.
10. ๊นํ๋ธ๋ก ์ด๋ํ์ฌ ๋ก๊ทธ์ธ ํ, ๋ง์ดํ์ด์ง ๋ฉ๋ด๋ฅผ ์ ํํฉ๋๋ค.
11. ๋ฉ๋ด์์ Settings ๋ฉ๋ด๋ฅผ ์ ํํฉ๋๋ค.
12. Settings ๋ฉ๋ด์์ ์ผ์ชฝ ์ฌ๋ฌ ๋ฉ๋ด๋ค ์ค, ๋งจ ์๋ 'Developer settings' ๋ฉ๋ด๋ฅผ ์ ํํฉ๋๋ค.
13. 'Personal access token' ๋ฉ๋ด์ 'Tokens (classic)' ๋ฉ๋ด๋ฅผ ์ ํํฉ๋๋ค. ์ ํ ํ ๋ํ๋๋ ํ๋ฉด์์ 'Generate new token'์ 'Generate new token (classic)'์ ์ ํํฉ๋๋ค.
14. 'New personal access token (classic)'์์ ํ ํฐ์ ๋ฐํํ๊ธฐ ์ํด์๋ Select scopes ํญ๋ชฉ์ ํ์ํ ์ฒดํฌ ํญ๋ชฉ์ ์ฒดํฌ ํ ๋ฐ๊ธ์ ์งํํฉ๋๋ค.
์ฒดํฌ ํญ๋ชฉ์ ๋ด์ฉ์ ํ์ํ ๊ฒ๋ค๋ง ์ฒดํฌ ํ ์งํํฉ๋๋ค.
15. ํ ํฐ์ด ๋ฐํ๋์์ต๋๋ค. ๋ น์์ผ๋ก ํ์๋ 'ghp_'๋ก ์์ํ๋ ํ ํฐ ํค ๊ฐ์ ๋ฐ๋ก ์ ์ฅํด๋ก๋๋ค.
15๋ฒ์์ ๋ฐ๊ธ๋ ํด๋น ํ ํฐ ํค ๊ฐ์ด 6๋ฒ์์ ์งํํ ๊นํ๋ธ Authentication์ ๋น๋ฐ๋ฒํธ ์ ๋ ฅ์ ๋ค์ด๊ฐ ์ ๋ณด์ ๋๋ค.
16. 6๋ฒ์์ ์ ๋ ฅํ ์ ๋ณด(๊นํ๋ธ URI, Authentication User, Password)๊ฐ ๋ฌธ์ ๊ฐ ์๋ค๋ฉด 'Push Branch master' ํญ๋ชฉ์ผ๋ก ๋์ด์ต๋๋ค. ํด๋น ํญ๋ชฉ ๊ทธ๋๋ก ์ ์งํ ์ํ๋ก Preview ๋ฒํผ์ ๋๋ฌ ๋ค์์ผ๋ก ์งํํฉ๋๋ค.
17. Message Details ์ ๋ณด์ ๊นํ๋ธ ๋งํฌ์ ๋ณด๋ฅผ ํ์ธ ํ, Push ๋ฒํผ์ ์ ํํฉ๋๋ค.
18. Push ๊ฒฐ๊ณผ๋ฅผ ํ์ธ ํ, Close ๋ฒํผ์ ๋๋ฌ ๋ง๋ฌด๋ฆฌํฉ๋๋ค.
19. ๊นํ๋ธ๋ก ์ด๋ํ์ฌ Push๊ฐ ์ ์์ ์ผ๋ก ์ ์ด๋ฃจ์ด์ก๋์ง ๋ง์ง๋ง์ผ๋ก ํ์ธํฉ๋๋ค.
@Junesker