23. ํ™˜๊ฒฝ์„ค์ •

Git&GitHub ์„ค์ •, ์ด์šฉ๋ฐฉ๋ฒ•

keemzeehae 2022. 1. 5. 21:08

Git 

Local์—์„œ ๋ฒ„์ „๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ

1. Git Download

 -https://www.git-scm.com/

 

Git

 

www.git-scm.com

2. ์„ค์น˜ 

-๊ธฐ๋ณธ ์ถ”์ฒœ์œผ๋กœ ์„ค์น˜ (Next ๊ณ„์† ๋ˆ„๋ฅด๊ธฐ)


Git-hub

์˜จ๋ผ์ธ ์ €์žฅ์†Œ (Backup)

-git-hub.com

1. ํšŒ์›๊ฐ€์ž…

 


Git-fork

Local๊ณผ Remote(github)์™€ ์—ฐ๊ฒฐ

1. git-fork download

- https://git-fork.com/

2. ์„ค์น˜

- git-hub์— ๊ฐ€์ž…ํ•œ ์ด๋ฆ„๊ฐ€ ์ด๋ฉ”์ผ ์ž…๋ ฅ


Local์—์„œ Repository์ƒ์„ฑ ํ›„ Remote๋กœ Push

1. git-fork

 

1) git fork ์—์„œ File -> init new Repository

2) ํƒ์ƒ‰์ฐฝ -> repository๋กœ ์‚ฌ์šฉํ•  ํด๋”(Java Project๋กœ ์‚ฌ์šฉ ํ• )๋ฅผ ์ƒ์„ฑ ํ›„ ์„ ํƒ

3) repository ํด๋”์— gitignore ํŒŒ์ผ ์ƒ์„ฑ

4) git-fork์—์„œ gitignoreํŒŒ์ผ์„ stage๋กœ ์ด๋™ ํ›„ commit

5) STS์—์„œ Java project๋ฅผ ์ƒ์„ฑ, ํ”„๋กœ์ ํŠธ๋ช…์€ Reository ์ด๋ฆ„๊ณผ ๋™์ผ ํ•œ ๊ฒฝ๋กœ์™€ ์ด๋ฆ„

6) Git-hub์—์„œ ๋™์ผํ•œ repository์ด๋ฆ„์œผ๋กœ ์ƒˆ๋กœ์šด repository ์ƒ์„ฑ

7) URL ์ฃผ์†Œ ๋ณต์‚ฌ

8) git-fork์—์„œ remote ์šฐํด๋ฆญ ํ•˜๋ฉด ๋ณต์‚ฌํ•œ ๋‚ด์šฉ์ด ์ž๋™ ์ €์žฅ ํ™•์ธ


Remote์—์„œ Repository ์ƒ์„ฑ ํ›„ Local pull

 

1) Git-hub์—์„œ ์ƒˆ๋กœ์šด repository ์ƒ์„ฑ

 a. repository ์ด๋ฆ„ ์ž…๋ ฅ

 b. public ์„ ํƒ

 c. Add .gitignore ํŒŒ์ผ ์„ ํƒ(option, ๋‚˜์ค‘์— local์—์„œ ๋งŒ๋“ค์–ด๋„ ๋จ)

  - java ์ž…๋ ฅ ํ›„ template ์„ ํƒ

 d. create repository ํด๋ฆญ

 

2) gitignore ํŒŒ์ผ ์ˆ˜์ •

 a. gitignore ํŽ˜์ด์ง€์—์„œ ์—ฐํ•„๋ชจ์–‘ ํด๋ฆญ(์ˆ˜์ •)

 b. ๋‚ด์šฉ ์ˆ˜์ •

๊ธฐ์กด gitignoreํŒŒ์ผ ์—ด์–ด์„œ ๋ณต๋ถ™ํ•ด๋„ ๋˜๊ณ 

https://www.toptal.com/developers/gitignore 

 

gitignore.io

Create useful .gitignore files for your project

www.toptal.com

์—ฌ๊ธฐ ๋“ค์–ด๊ฐ€์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์šด์˜์ฒด์ œ,๊ฐœ๋ฐœํ™˜๊ฒฝ,์–ธ์–ด ๊ฒ€์ƒ‰ํ•œ ํ›„์— ๋ณต๋ถ™ํ•ด๋„ ๋จ

 

 c. commit changes ์—์„œ ์ œ๋ชฉ ์ž…๋ ฅ ํ›„ commit

 

3) URL ๋ณต์‚ฌ

 a. ์ฒซ ํ™”๋ฉด์—์„œ code ํด๋ฆญ

 b. HTTPS URL ์ฃผ์†Œ ๋ณต์‚ฌ

 

4) git-fork

 a. File -> clone

 b. ๋ณต์‚ฌํ•œ URL์„ Repository url์— ์ž…๋ ฅ

 c. Parent folder๋Š” workspace๋กœ ๊ฒฝ๋กœ

 d. Name์— ์ž๋™์ž…๋ ฅ (Ropository ์™€ ๋™์ผํ•œ ์ด๋ฆ„ ์ž…๋ ฅ)

 e. clone ํด๋ฆญ

 

=> git-fork ์—์„œ main ๋ณด์ด๊ณ  workspace ํด๋”์— ์ œ๋Œ€๋กœ ์ƒ์„ฑ๋˜์–ด์žˆ๋‚˜ ํ™•์ธ

 

5) STS

 a. ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

 b. ํ”„๋กœ์ ํŠธ๋ช…์€ Repository์ด๋ฆ„๊ณผ ๋™์ผํ•˜๊ฒŒ


์ž‘์—…์ˆœ์„œ

0. Git-fork์—์„œ pull ์ง„ํ–‰

1. STS ์ฝ”๋”ฉ ์ž‘์—… ํ›„ ์ €์žฅ

2. git-fork์—์„œ ์›ํ•˜๋Š” ํŒŒ์ผ์„ stage๋กœ ์ด๋™

3. commit ์ œ๋ชฉ์„ ์ž…๋ ฅํ•˜๊ณ  commit ๋ฒ„ํŠผ ํด๋ฆญ(Local์— ์ €์žฅ)

4. push -github์— upload


Delete

1. Git-hub Repository ์‚ญ์ œ

 - git-hub์—์„œ๋งŒ ์‚ญ์ œ Local์€ ์˜ํ–ฅ์ด ์—†์Œ

 a. ์‚ญ์ œํ•  Git-hub์— Repository์—์„œ Setting ์ด๋™

 b. ํ•˜๋‹จ์— Danger Zone์˜ Delete repository

 c. ์†Œ์œ ์ž์ด๋ฆ„/repository์ด๋ฆ„ ์ž…๋ ฅํ•˜๊ณ  ์‚ญ์ œ

 

2. Local Git ์‚ญ์ œ

 - git-hub์™€ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์—๋Š” ์˜ํ–ฅ์ด ์—†์Œ

 - git-fork์—์„œ๋งŒ ์•ˆ๋ณด์ด๊ฒŒ ํ•˜๋Š” ๊ฒƒ, git ์„ค์ •์€ ๋‚จ์•„ ์žˆ์Œ

 - git ์„ค์ •์„ ๋ชจ๋‘ ์ง€์šฐ๋ ค๋ฉด repository ํด๋”๋‚ด์˜ .git ํด๋”๋ฅผ ์‚ญ์ œํ•ด์•ผ ํ•จ

 

 a. git-fork์—์„œ Repository Manager ์—ด๊ธฐ

 b. ํƒญ์„ ๋ชจ๋‘ ๋‹ซ๊ฑฐ๋‚˜ + ๋ฒ„ํŠผ ๋ˆ„๋ฃจ๋ฉด Repository Manager๊ฐ€ ๋‚˜์˜ด

 c. ์‚ญ์ œํ•  repository๋ช… ์šฐํด๋ฆญ remove ์„ ํƒ

 

3. Java project ์‚ญ์ œ

 a. sts์—์„œ ์‚ญ์ œํ•  ํ”„๋กœ์ ํŠธ๋ช… ์šฐํด๋ฆญ -> delete

 b. ์ฒดํฌ๋ฐ•์Šค์— ์ฒดํฌ๋ฅผ ํ•ด์•ผ HDD์—์„œ๋„ ์™„์ „ ์‚ญ์ œ

 


Git-hub์—์„œ ์‚ฌ์šฉํ•˜๋˜ Project(Repository) Clone

 

1) Git-hub์—์„œ Repository URL ๋ณต์‚ฌ

a. Repository ์ฒซ ํ™”๋ฉด์—์„œ code ํด๋ฆญ

b. HTTPS URL ์ฃผ์†Œ ๋ณต์‚ฌ

 

2) git-fork

a. File -> clone

b. ๋ณต์‚ฌํ•œ URL์„ Repository url์— ์ž…๋ ฅ

c. Parent folder๋Š” workspace๋กœ ๊ฒฝ๋กœ

d. Name ์— ์ž๋™์ž…๋ ฅ(Ropository ์™€ ๋™์ผํ•œ ์ด๋ฆ„ ์ž…๋ ฅ)

e. clone ํด๋ฆญ

 

3) sts

a. file > import

b. General > Existing Project....

c. root directory > browser > workspace ํด๋” ์„ ํƒ

d. ์‚ฌ์šฉํ•  Project๋ฅผ ์ฒดํฌ ํ•˜๊ณ  Finish


Git Ignore ํŒŒ์ผ์„ ์ƒ์„ฑ ํ›„ ์ ์šฉ์ด ์•ˆ๋  ๋•Œ

1) CMD(Terminal)์—์„œ ํ•ด๋‹น Repository๋กœ ์ด๋™ ํ›„

2) git rm -r --cached . && git add . && git commit -m "fixed untracked files"


Git user ๋ณ€๊ฒฝ

1. CMD, Terminal

2. git config --global user.name ์œ ์ €๋ช…

   git config --global user.email ์œ ์ €์ด๋ฉ”์ผ

 

/*

๊ธฐ๋ก์šฉ ๋ธ”๋กœ๊ทธ ์ž…๋‹ˆ๋‹ค.

ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉด ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค : )

 

*/