๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Study/Gitโ”‚GitHub

์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ Git ์‚ฌ์šฉํ•˜๊ธฐ

1. Git ๋‹ค์šด๋กœ๋“œ

https://git-scm.com/

 

Git

 

git-scm.com

๋งŒ์•ฝ Git์ด ๊ธฐ์กด์— ์žˆ๋‹ค๋ฉด? → ์—…๋ฐ์ดํŠธ ๋ฐฉ๋ฒ•
1. Git CMD ์ฐฝ ์—ด๊ธฐ
2. git --version ์ž…๋ ฅ (๊นƒ ๋ฒ„์ „ ํ™•์ธ)
3. git update-git-for-windows ์ž…๋ ฅ (๊นƒ ์—…๋ฐ์ดํŠธ)
 - ์—…๋ฐ์ดํŠธ ๋ฒ„์ „์ด ๋‚˜์˜ค๊ณ  ํ• ๊ฑฐ๋ƒ๊ณ  ๋ฌป๋Š”๋‹ค. ์ด๋•Œ n ๋˜๋Š” y ์ž…๋ ฅ (y: yes)
4. ๋‹ค์‹œ ๋ฒ„์ „ ํ™•์ธ (๋‹ฌ๋ผ์ง„ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Œ)

 

 

2. GitHub ๊ณ„์ • ๋งŒ๋“ค๊ธฐ

https://github.com/

 

GitHub: Let’s build from here

GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...

github.com

1) ๊ณ„์ • ์ƒ์„ฑ

 

 

3. ๋กœ์ปฌ ์ €์žฅ์†Œ ์ƒ์„ฑํ•˜๊ธฐ

์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ์ €์žฅ์†Œ๋ฅผ ์ƒ์„ฑํ•ด์„œ ํŒŒ์ผ์„ ๊นƒํ—ˆ๋ธŒ๋กœ ์˜ฌ๋ฆฌ๊ธฐ

1) File - Settings - Version Control - Git ๋ฅผ ์„ ํƒ

    - ๊ฒฝ๋กœ ํƒ์ง€ (์ž๋™์œผ๋กœ ๋‚˜์˜ค๋ฉด ๊นƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ)

    - Test ๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ˜„์žฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊นƒ ๋ฒ„์ „ ํ™•์ธ ๊ฐ€๋Šฅํ•จ

 

2) VCS - Import into Version Control - Create Git Repository ๋ฅผ ์„ ํƒ (๋˜๋Š” VCS - Git Repository)

    - ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ํด๋”(ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์œผ๋กœ ๋œ ํŒŒ์ผ)๋ฅผ ์„ ํƒํ•˜๊ณ  [OK] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•จ

    - ํŒŒ์ผ ์ด๋ฆ„๋“ค์ด ๋ถ‰์€์ƒ‰์œผ๋กœ ๋˜์–ด์žˆ์Œ → ์•„์ง ๊นƒ์— ์ถ”๊ฐ€๋˜์ง€ ์•Š์€ ํŒŒ์ผ๋“ค์„ ๋œปํ•จ (Add์˜ ๋Œ€์ƒ์ด ๋  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ๋“ค)

 

3) app ์šฐํด๋ฆญ - Git - Add 

    - ํŒŒ์ผ ์ด๋ฆ„๋“ค์ด ์ดˆ๋ก์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ๋จ (Add๊ฐ€ ๋˜์—ˆ๋‹ค๋Š” ๋œป, commit๊ณผ push๋ฅผ ํ•ด์•ผํ•˜๋Š” ๋Œ€์ƒ๋“ค)

 

4) ์ปค๋ฐ‹ํ•˜๊ธฐ: app ์šฐํด๋ฆญ - Git - Commit Directory  ๋˜๋Š” ํ™”๋ฉด ์šฐ์ธก ์ปค๋ฐ‹ ์•„์ด์ฝ˜(โœ”)

 

5) ์„ ํƒ๋˜์ง€ ์•Š์€ ํŒŒ์ผ๋“ค๋„ ์„ ํƒํ•˜์—ฌ ๊ฐ™์ด ์˜ฌ๋ฆฌ๊ธฐ

    - ์—ฌ๊ธฐ์„œ ์ปค๋ฐ‹์„ ํ•˜๊ฒŒ๋˜๋ฉด ์ค€๋น„ํ•œ ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์˜ฌ๋ผ๊ฐ

 

6) ๋ฉ”์‹œ์ง€ ์ž‘์„ฑํ•˜๊ธฐ

- ์™œ ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€, ์–ด๋–ค ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ๋“ฑ ๊ฐ„๋‹จํ•˜๊ฒŒ ์š”์•ฝ ์ •๋ฆฌํ•˜๊ธฐ

- ์ž‘์„ฑ ํ›„ Commit ๋ฒ„ํŠผ ํด๋ฆญ (๊ฒฝ๊ณ  ๋œฐ ๊ฒฝ์šฐ, Commit Anyway ํด๋ฆญ)

 

7) ํ•˜๋‹จ Git์—์„œ ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์˜ฌ๋ผ๊ฐ”๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

- ์ž‘์„ฑํ•œ ๋ฉ”์‹œ์ง€๋„ ํ•จ๊ป˜ ํ™•์ธ ๊ฐ€๋Šฅ

 

 

4. ์›๊ฒฉ ์ €์žฅ์†Œ ์ƒ์„ฑํ•˜๊ธฐ

์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ์ง์ ‘ ์›๊ฒฉ ์ €์žฅ์†Œ ์ƒ์„ฑํ•˜๊ธฐ

1) VCS - Import into Version Control - Share Project on GitHub ๋ฅผ ์„ ํƒ (๋˜๋Š” Git - GitHub - Share Project on GitHub)

 

2) ๊นƒํ—ˆ๋ธŒ ๋กœ๊ทธ์ธ ํ•˜๊ธฐ

- ์—๋Ÿฌ ๋ฐœ์ƒ์‹œ, Use Token์œผ๋กœ ๋กœ๊ทธ์ธ (Generate ํด๋ฆญํ•ด์„œ ๊นƒํ—ˆ๋ธŒ ์‚ฌ์ดํŠธ๋กœ ์ด๋™)

- ํ”„๋กœํ•„ ํด๋ฆญ - Settings - Developer settings - Personal access tokens - Generate new token

- Note: ํ† ํฐ ๋‚ด์šฉ

- Select scopes: ํ† ํฐ ๊ถŒํ•œ

    - repo, admin:org, gist ์„ ํƒ

    - Generate token ๋ฒ„ํŠผ ํด๋ฆญํ•ด์„œ ํ† ํฐ ์ƒ์„ฑ

    - ํ† ํฐ ๋ณต์‚ฌํ•ด์„œ ๊ธฐ์–ตํ•ด๋‘๊ธฐ!! (๋ฉ”๋ชจ์žฅ๊ฐ™์€ ๊ณณ์— ์ ์–ด์„œ ๋ณด๊ด€ํ•˜๊ธฐ)(๋‚˜์ค‘์— ๋ณผ ์ˆ˜ ์—†์Œ?)

3) ๋ ˆํผ์ง€ํ† ๋ฆฌ Share

 

โ˜… ์•Œ๋ฆผ์ฐฝ ๋œจ๋ฉด ์ƒ์„ฑ ์„ฑ๊ณต โ˜…

- ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์žˆ๋˜ ๊ฒƒ์ด ๋ชจ๋‘ ๊นƒํ—ˆ๋ธŒ ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค์–ด ๋„˜์–ด๊ฐ€๊ฒŒ ๋จ

- ๊นƒํ—ˆ๋ธŒ ํŽ˜์ด์ง€ ๋“ค์–ด๊ฐ€๋ณด๋ฉด ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Œ

 

 

5. ๋ณ€๊ฒฝ ํ›„ ๋กœ์ปฌ ์ €์žฅ์†Œ๋กœ ์ €์žฅํ•˜๊ธฐ

- ์ฝ”๋“œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ๋‹ค๋ฉด, ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ์˜ ๊ธ€์ž์ƒ‰์ด ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๋ฐ”๋€œ

1) app ์šฐํด๋ฆญ - Git - Add ํ›„ Commit์—์„œ ๋ณด๋ฉด ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

 

2) ๋กœ์ปฌ ์ €์žฅ์†Œ๋กœ ์ €์žฅํ•˜๊ธฐ

- ๋ณ€๊ฒฝ ํŒŒ์ผ ์„ ํƒ, ๋ฉ”์‹œ์ง€ ์ž‘์„ฑํ•˜๊ธฐ

- Commit ํด๋ฆญ

- (๋งŒ์•ฝ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ๋ฐ”๋กœ ๋ณด๋‚ด๊ณ  ์‹ถ๋‹ค๋ฉด 'Commit and Push' ํด๋ฆญ)

 

 

 

5. ๋ณ€๊ฒฝ ํ›„ ๋กœ์ปฌ ์ €์žฅ์†Œ์—์„œ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ์˜ฎ๊ธฐ๊ธฐ

1) VCS - Git - Push ๋ฅผ ์„ ํƒ (๋˜๋Š” Git - Push) (๋˜๋Š” ํ™”๋ฉด ์šฐ์ธก push ์•„์ด์ฝ˜(โ†—))

 

2) ์ž‘์„ฑํ•œ ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ, ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ ๋‚˜์˜ค๊ณ  Push ํด๋ฆญ

 

- ๊นƒํ—ˆ๋ธŒ ํŽ˜์ด์ง€์—์„œ ๋ณ€๊ฒฝ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

- ์ดˆ๋ก: ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„

 

 

6. ํŒ€์›๊ณผ ํ˜‘์—…ํ•˜๊ธฐ

ํŒ€์›๋“ค์˜ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ๊นƒํ—ˆ๋ธŒ ํ”„๋กœ์ ํŠธ ๊ฐ€์ ธ์˜ค๊ธฐ

(์ž„์˜๋กœ ์ดˆ๋Œ€ํ•œ ์‚ฌ๋žŒ์„ ๊ฐœ๋ฐœ์žA, ์ดˆ๋Œ€๋ฐ›์€ ์‚ฌ๋žŒ์„ ๊ฐœ๋ฐœ์žB๋ผ๊ณ  ํ•˜๊ฒ ์Œ)

 

1) ํ˜‘์—…ํ•  ๊ฐœ๋ฐœ์ž(๊ฐœ๋ฐœ์žB) ์ถ”๊ฐ€ํ•˜๊ธฐ

- Settings - Collaborators - Manage access - Add people

- ์‚ฌ์šฉ์ž ์ด๋ฆ„ ๋˜๋Š” ์ด๋ฉ”์ผ ์ž…๋ ฅ → ์ด๋ฉ”์ผ ์ฃผ์†Œ๋กœ ์ดˆ๋Œ€ ๋ฉ”์ผ ๊ฐ → ์Šน๋‚™ํ•˜๋ฉด ๊ฐ™์ด ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Œ

 

๊ฐœ๋ฐœ์žB์˜ ์‹œ์ 

1) ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ์‹œ์ž‘ํ™”๋ฉด

- ์šฐ์ธก ์ƒ๋‹จ์˜ Get from VCS ๋“ค์–ด๊ฐ€๊ธฐ (๋ฒ„์ „์— ๋”ฐ๋ผ ์œ„์น˜ ๋‹ค๋ฆ„)

- GitHub ๋กœ๊ทธ์ธ ํ•˜๊ธฐ(์—๋Ÿฌ๋‚  ๊ฒฝ์šฐ ํ† ํฐ์œผ๋กœ)

- ๊ฐœ๋ฐœ์žB๊ฐ€ ๊ฐ€์ง„ ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Œ

- clone ํด๋ฆญํ•ด ๋กœ์ปฌ ์ €์žฅ์†Œ์— ๋ณต์ œํ•˜๊ธฐ

 

2) ์ฝ”๋“œ ๋ณ€๊ฒฝ ํ›„

- app ์šฐํด๋ฆญ - Git - Add ํ›„ Commit์—์„œ ๋ณด๋ฉด ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

- ๋ณ€๊ฒฝ ํŒŒ์ผ ์„ ํƒ, ๋ฉ”์‹œ์ง€ ์ž‘์„ฑํ•˜๊ธฐ

- Commit ํด๋ฆญ (๋งŒ์•ฝ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ๋ฐ”๋กœ ๋ณด๋‚ด๊ณ  ์‹ถ๋‹ค๋ฉด 'Commit and Push' ํด๋ฆญ)

- VCS - Git - Push ๋ฅผ ์„ ํƒ (๋˜๋Š” Git - Push) (๋˜๋Š” ํ™”๋ฉด ์šฐ์ธก push ์•„์ด์ฝ˜(โ†—))

- ์ž‘์„ฑํ•œ ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ, ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ ๋‚˜์˜ค๊ณ  Push ํด๋ฆญ

 

 

๊ฐœ๋ฐœ์žA ์‹œ์ 

๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ ๊ฐ€์ ธ์˜ค๊ธฐ

 

1) Update Project

- VCS - Git - Pull ๋ฅผ ์„ ํƒ (๋˜๋Š” Git - Pull) (๋˜๋Š” ํ™”๋ฉด ์šฐ์ธก pull ์•„์ด์ฝ˜(โ†™))

- ์—…๋ฐ์ดํŠธ ๋œ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

 

'Study > Gitโ”‚GitHub' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Git, GitHub๋ž€?  (0) 2023.07.18
[GitHub/Git] Git & GitHub ๊ธฐ๋ณธ ๊ฐœ๋…  (0) 2022.09.14