๊นƒ(git) - ํ˜•์ƒ๊ด€๋ฆฌ๋„๊ตฌ

2023. 5. 9. 17:22ใ†git

GitHub

(์˜จ๋ผ์ธ ํด๋ผ์šฐ๋“œ)

 

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

๊นƒํ—ˆ๋ธŒ์— ์–ด๋– ํ•œ ํŒŒ์ผ์„ ์ €์žฅํ•˜๋ ค๋ฉด ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„(=Repository)์„ ๋งŒ๋“ค์–ด์•ผ ํ•จ.

ํ˜•์ƒ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด pc์™€ ๊นƒ ์ €์žฅ์†Œ ์—ฐ๊ฒฐ ์ž‘์—…์ด ํ•„์š”.

> git ์‚ฌ์šฉ

Git (git-scm.com)

 

Git

 

git-scm.com

ํ•ด๋‹น pc ์šด์˜์ฒด์ œ์— ๋งž๋Š” exe ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ํ•˜์—ฌ ์„ค์น˜

 

๊นƒ ์ž‘์—… ์ˆœ์„œ

1. ๊นƒ ์ €์žฅ์†Œ(remote repository)์™€ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋Š” pc์˜ ํŠน์ • ํด๋”(local repository) git_test ์ƒ์„ฑ

2. local repository๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ํด๋” ์•ˆ์œผ๋กœ ์œผ๋กœ ๋“ค์–ด๊ฐ 

> ๋งˆ์šฐ์Šค ์šฐ์ธก ํด๋ฆญํ•˜์—ฌ git bash here ํด๋ฆญ 

> ๊ฒ€์€ ๋ช…๋ น์–ด ์ฐฝ ๋œธ

3. git ์‚ฌ์šฉ์ž ์ง€์ • (pc๋‹น ์ตœ์ดˆ 1๋ฒˆ๋งŒ)

git config --global user.name  : ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„ ํ™•์ธ ๋ช…๋ น์–ด

๋ช…๋ น์–ด ์ฐฝ์— ์œ„ ์ฝ”๋“œ ์น˜๋ฉด ์‚ฌ์šฉ์ž ์ด๋ฆ„ ํ™•์ธ ๊ฐ€๋Šฅ

git config --global user.name "๊ณ„์ •๋ช…" : ํ˜„์žฌ pc์˜ ๊ณ„์ • ์„ค์ • (๊ณ„์ •๋ช…์—๋Š” github์˜ name)

๊ณ„์ • ํ™•์ธ

4. ์‚ฌ์šฉ์ž ์ด๋ฉ”์ผ ์ง€์ •

git config --global user.email "์ด๋ฉ”์ผ" : ํ˜„์žฌ pc์˜ ์ด๋ฉ”์ผ ํ™•์ธ ๋ช…๋ ์–ด

git config --global user.email "์ด๋ฉ”์ผ" : ํ˜„์žฌ pc์˜ ์ด๋ฉ”์ผ ์„ค์ • (์ด๋ฉ”์ผ์—๋Š” github ๊ฐ€์ž… email)

5. ์‹ค์งˆ์ ์ธ local repository ํด๋” ์ƒ์„ฑ

git init : local repository ํด๋” ์ƒ์„ฑ ๋ช…๋ น์–ด

๋ช…๋ น์–ด ์น˜๋ฉด 1.์—์„œ ์ƒ์„ฑํ•œ ํด๋”์— ์ˆจ๊น€ ํด๋”๋กœ .git ํด๋”๊ฐ€ ์ƒ๊น€

> ์‹ค์งˆ์ ์ธ local repository์ž„

์‰ฝ๊ฒŒ ์ดํ•ดํ•˜์ž๋ฉด, 1.์—์„œ ์ƒ์„ฑํ•œ ํด๋”(git_test)๊ฐ€ local repository ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ.

6. ๊นƒ์˜ ์›๊ฒฉ ์ €์žฅ์†Œ์™€ pc์˜ ๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ์—ฐ๊ฒฐ

์—ฐ๊ฒฐ ๋ช…๋ น์–ด : git remote add origin https://github.com/byeol93/my-first-test-repo.git (์›๊ฒฉ์ €์žฅ์†Œ url)

์›๊ฒฉ ์ €์žฅ์†Œ url์€ ๊นƒ์— ์ƒ์„ฑํ•œ ์›๊ฒฉ ์ €์žฅ์†Œ์— ๋“ค์–ด๊ฐ€๋ฉด ์•Œ ์ˆ˜ ์žˆ์Œ

git remote -v : ์—ฐ๊ฒฐํ•œ ์›๊ฒฉ ์ €์žฅ์†Œ ์ฃผ์†Œ ๋ณด์—ฌ์ฃผ๋Š” ๋ช…๋ น์–ด

 

git_test ํด๋”์— ์ƒˆ๋กœ์šด ํŒŒ์ผ์„ ์ €์žฅํ•œ๋‹ค๊ณ  ํ•ด์„œ ๊ทธ๊ฒŒ github์— ์ €์žฅ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹˜

git_test์— ๊นƒํ…Œ์ŠคํŠธ๋ฌธ์„œ.txt ํŒŒ์ผ ํ•˜๋‚˜ ์ƒ์„ฑํ•˜์—ฌ ์ €์žฅ ํ›„ 

git status ๋ช…๋ น์–ด๋กœ git ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋ฉด ํŒŒ์ผ ์—†๋‹ค๊ณ  ๋œธ!

 

7. git์— ์‹ค์ œ๋กœ ์ƒˆ๋กœ์šด ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•จ์„ ์•Œ๋ ค์ฃผ๋Š” ๋ช…๋ น์–ด ํ•„์š”.

git add .  : ๊นƒ์˜ ์ง€์—ญ์ €์žฅ์†Œ์— ๋ชจ๋“  ํŒŒ์ผ์„ ์ถ”๊ฐ€

> ์ƒˆ๋กœ์šด ํŒŒ์ผ์ด ์žˆ๋‹ค๊ณ  ๋‚˜์˜ด

* git add . ํŒŒ์ผ๋ช….ํ™•์žฅ์ž : ํŠน์ • ํŒŒ์ผ ์ถ”๊ฐ€

7.1 ์ง€์—ญ ์ €์žฅ์†Œ์— ๋ฐ์ดํ„ฐ ์ €์žฅ(๋ณ€๊ฒฝ, ์ถ”๊ฐ€, ์‚ญ์ œ)

- ์ง€์—ญ ์ €์žฅ์†Œ๋ฅผ ๊ฐ€๊ธฐ ์ „์— ๋จผ์ € ๊ฑฐ์น˜๋Š” ์žฅ๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•จ.

git add . : ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋‹ด๋Š” ๊ฒƒ.

- ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋‹ด์€ ํŒŒ์ผ์„ ์ง€์—ญ ์ €์žฅ์†Œ์— ์ €์žฅํ•˜๋Š” ๋ช…๋ น์–ด : git commit -m "์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€"

๋˜๋Œ์•„๊ฐˆ ์‹œ์  ๋งŒ๋“œ๋Š” ๋ช…๋ น์–ด์ž„

์‹ค์ œ๋กœ ํŒŒ์ผ๋ช…์ด ๋ฐ”๋€Œ๋Š” ๊ฒƒ์€ ์•„๋‹˜. 

 

 

8. ์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ๊ธฐ

์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ๋Š” ๋ช…๋ น์–ด: git push origin master

๊นƒ ์ƒˆ๋กœ๊ณ ์นจ ํ•˜๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ํŒŒ์ผ ์˜ฌ๋ผ๊ฐ„ ๊ฒƒ ํ™•์ธ ๊ฐ€๋Šฅ

------์ง€๊ธˆ๊นŒ์ง€ ์ˆœ์„œ๋Š” ์ฒ˜์Œ ๊นƒํ—ˆ๋ธŒ์— ํŒŒ์ผ ์˜ฌ๋ฆด ๋•Œ์˜ ๊ฒฝ์šฐ.

์ตœ์ดˆ ๊นƒํ—ˆ๋ธŒ์™€ ์—ฐ๊ฒฐ ์™„๋ฃŒ๋œ ์ƒํƒœ๋ฉด 7๋ฒˆ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ๋ฐ˜๋ณต!

 

์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฐ ํŒŒ์ผ์„ ๋กœ์ปฌ ์ €์žฅ์†Œ์— ํŒŒ์ผ ์‚ญ์ œํ•œ ๊ฒฝ์šฐ์—๋„

git add . 

git commit -m "๋ฉ”์‹œ์ง€"

git pust origin master 

๋ช…๋ น์–ด ์ฐจ๋ก€๋Œ€๋กœ ์‹คํ–‰ํ•ด์ค˜์•ผ ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ๋„ ์‚ญ์ œ ๋จ!

 

 

 

git์— ํ”„๋กœ์ ํŠธ ์˜ฌ๋ฆฌ๊ธฐ

1. ๊นƒ์— ์›๊ฒฉ ์ €์žฅ์†Œ ์ƒ์„ฑ

2. ๊นƒ์— ์˜ฌ๋ฆด ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋Š” ํด๋”๋กœ ๋“ค์–ด๊ฐ€์„œ ๋งˆ์šฐ์Šค ์šฐ์ธก ํด๋ฆญํ•˜์—ฌ git bash here ํด๋ฆญ 

์•„๋ž˜ ๋ช…๋ น์–ด ์‚ฌ์šฉํ•˜์—ฌ ์›๊ฒฉ ์ €์žฅ์†Œ์™€ ๋กœ์ปฌ ์ €์žฅ์†Œ ์—ฐ๊ฒฐ

* ์—ฐ๊ฒฐ ํ•ด์ œ ๋ฐฉ๋ฒ•

.git ํด๋” ์ง€์šฐ๋ฉด ์—ฐ๊ฒฐ ๋ฐ”๋กœ ๋Š๊น€.

 

gitignore.zip
0.00MB

gitignore ์ฒ˜๋ฆฌ.

์œ„ txt ํŒŒ์ผ์„ ์—ด์–ด์„œ  ๋งจ ์•„๋ž˜์ชฝ์—  .classpath .project ์ ๊ณ  ์ €์žฅ

git bash here ์‹คํ–‰

git remote add git remote add origin ์›๊ฒฉ ์ €์žฅ์†Œ url ๋ช…๋ น์–ด ์‹คํ–‰

git add . ํ•˜์—ฌ ํŒŒ์ผ๋“ค ์žฅ๋ฐ”๊ตฌ๋‹ˆ(?์— ๋‹ด์Œ

git status๋ช…๋ น์–ด ์‹คํ–‰ํ•˜๋ฉด

์œ„์˜ ๋‘ ํŒŒ์ผ์€ ๋ฌด์‹œ๋˜์–ด ํŒŒ์ผ ์ธ์‹ ์•ˆ ํ•˜๋Š” ๊ฒƒ ์•Œ ์ˆ˜ ์žˆ์Œ.

๋‹ค ๋˜๋ฉด ๋‹ค์‹œ txt ํŒŒ์ผ ์—ด์–ด์„œ ์ ์€ .classpath .project ์‚ญ์ œํ•˜๊ณ  ์ €์žฅ.

 

commit ๋ช…๋ น์–ด ์‹คํ–‰ ํ›„ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ๋Š” ๋ช…๋ น์–ด ์‹คํ–‰

 

 

 

๊นƒ ํ—ˆ๋ธŒ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋‚ด๋ ค๋ฐ›๊ธฐ

- ๋˜ ๋‹ค๋ฅธ pc์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ๋‚ด๋ ค ๋ฐ›๋Š” ๋ฒ•.

pc์— ๋กœ์ปฌ ์ €์žฅ์†Œ ํด๋” ๋งŒ๋“ค๊ณ  ํด๋” ์•ˆ์— ๋“ค์–ด์™€์„œ git bash here ํด๋ฆญ 

๊ณ„์ •๋ช…๊ณผ ์ด๋ฉ”์ผ ๋จผ์ € ๋„ฃ๊ธฐ

์›๊ฒฉ ์ €์žฅ์†Œ์— ์žˆ๋Š” ๊ฒƒ ๋ณต์‚ฌํ•ด์˜ค๋Š” ๋ช…๋ น์–ด

* clone์€ ๋ณต์‚ฌํ•˜๋ ค๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ (์ตœ์ดˆ๋งŒ ํ•ด๋‹น)

$ git clone https://github.com/byeol93/my-second-test-repository.git (์›๊ฒฉ ์ €์žฅ์†Œ url) 

ํด๋”๋ช…์€ ์›๊ฒฉ์ €์žฅ์†Œ๋ช…์œผ๋กœ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋จ.

 

 

1. ๋‚ด๋ ค๋ฐ›๊ณ  ์‹ถ์€ ํด๋”์—์„œ git bash ์‹คํ–‰

2. git clone ์›๊ฒฉ ์ €์žฅ์†Œ url ๋ช…๋ น์–ด ์‹คํ–‰

> ์›๊ฒฉ ์ €์žฅ์†Œ ์ด๋ฆ„๋Œ€๋กœ ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ด.

ํด๋”๋ช…์„ ๋ฐ”๊พธ๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ

ํด๋”์— ๋“ค์–ด๊ฐ€์„œ .git ์ง€์›Œ์ฃผ๊ณ  ๋ฐ›์•„์ง„ ํด๋” ์ „์ฒด ์ง€์šฐ๊ธฐ

์˜ฌ๋ฆฐ ์ปดํ“จํ„ฐ์˜ ํŒŒ์ผ๋ช…๊ณผ ๋™์ผํ•˜๊ฒŒ url ๋’ค์— ์ ์–ด์ฃผ๊ณ  ์•„๋ž˜ ๋ช…๋ น์–ด ์‹คํ–‰

$ git clone https://github.com/byeol93/my-second-test-repository.git Git_test 

<git clone ์›๊ฒฉ ์ €์žฅ์†Œ ์ฃผ์†Œ ํด๋”๋ช…>

์Šคํ”„๋ง ์ผœ์„œ ๋‚ด๋ ค๋ฐ›์€ ๊ฒฝ๋กœ ์„ค์ •ํ•˜์—ฌ ์ผฌ

import ํ•˜๊ธฐ 

 

๋‹ค๋ฅธ pc์—์„œ ์ž‘์—…

์ž‘์—… ํ›„ ๋‹ค์‹œ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ๊ธฐ.

ํ”„๋กœ์ ํŠธ ํด๋”๋กœ ๋“ค์–ด๊ฐ.

git bash here ํด๋ฆญํ•˜์—ฌ git add . ๋ช…๋ น์–ด ์‹คํ–‰ ํ›„ git push origin master ๋ช…๋ น์–ด๋กœ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ๊ธฐ.

 

github์— ์˜ฌ๋ฆฐ ๋ฐ์ดํ„ฐ ๋‹ค์‹œ ๋‚ด๋ ค ๋ฐ›๊ธฐ (์ตœ์ดˆ ๋‚ด๋ ค๋ฐ›๊ธฐ ์ดํ›„)

๋‘ ์ปดํ“จํ„ฐ์— ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์ž„.

๋‹ค์‹œ ๋ฐ์ดํ„ฐ ๋ฐ›์„ ํ”„๋กœ์ ํŠธ์˜ ์ง€์—ญ ์ €์žฅ์†Œ์—์„œ git bash here ์‹คํ–‰

git pull origin master ๋ช…๋ น์–ด ์‹คํ–‰

์ง‘์—์„œ ์ž‘์—…ํ•œ ๊ฒƒ๊นŒ์ง€ ๋‹ค ๋ถˆ๋Ÿฌ์™€์ง.

 

์ดํ›„์— ์ง‘, ๊ฐ•์˜์‹ค์—์„œ ๋ฐ˜๋ณตํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ์•„๋ž˜์™€ ๊ฐ™์Œ

git pull origin master (๋‚ด๋ ค ๋ฐ›์Œ)์ž‘์—…git add .git commit -m "์ปค๋ฐ‹๋ฉ”์‹œ์ง€"git push origin master

 

 

 

๋‹ค๋ฅธ ๋ฐฉ๋ฒ•.

github์— ์›๊ฒฉ ์ €์žฅ์†Œ ์ƒ์„ฑ ์ €์žฅ์†Œ ์ด๋ฆ„์€ ์Šคํ”„๋ง ํ”„๋กœ์ ํŠธ ์ด๋ฆ„๊ณผ ๋™์ผํ•˜๊ฒŒ

 

ํ”„๋กœ์ ํŠธ ์†Œ์Šค๊ฐ€ ๋“ค์–ด์žˆ๋Š” ํด๋” ์ž์ฒด๋ฅผ ๋กœ์ปฌ ์ €์žฅ์†Œ๋กœ ์‚ฌ์šฉ

gitignore.zip
0.00MB

์œ„ ํŒŒ์ผ์„ ์—…๋กœ๋“œ ํ•˜๋ ค๋Š” ํ”„๋กœ์ ํŠธ ํด๋”์— ๋ถ™์—ฌ ๋„ฃ๊ธฐ.

 

์Šคํ”„๋ง์—์„œ ํ”„๋กœ์ ํŠธ ์šฐ์ธก ํด๋ฆญ team - share project ํด๋ฆญ

์•„๋ž˜ v ํ‘œ์‹œ ๋”ฐ๋ผ ํด๋ฆญ ํ›„ ๋กœ์ปฌ ์ €์žฅ์†Œ ๋งŒ๋“ค๊ธฐ

์›๊ฒฉ ์ €์žฅ์†Œ์™€ ๋กœ์ปฌ ์ €์žฅ์†Œ ์—ฐ๊ฒฐ

์Šคํ”„๋ง์œผ๋กœ ๋Œ์•„์™€์„œ ๊นƒ ํŽ„์ŠคํŽ™ํ‹ฐ๋ธŒ ํด๋ฆญ

git์—์„œ๋Š” ์†Œ์Šค ์ž‘์—… X

์œ„์—์„œ ์—ด๋ฆฐ git package Explorer์—์„œ ํ”„๋กœ์ ํŠธ ํ™”์‚ดํ‘œ ์—ด์–ด์„œ Remotes ์šฐ์ธก ํด๋ฆญ

๋งˆ์ง€๋ง‰ ์ฒดํฌ ๋ฐ•์Šค๋Š” ์ฒดํฌ ํ•ด์ œํ•ด๋„ ๋ฌด๋ฐฉ.

password๋Š” ํ† ํฐ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ.

 

ํ† ํฐ์€ github์— settings์—์„œ ์„ค์ •

note์— sample ์ ๊ณ  ์•„๋ž˜ ์ดˆ๋ก ๋ฒ„ํŠผ ์ œ๋„ˆ๋ ˆ์ด์…˜ ํด๋ฆญํ•˜์—ฌ ํ† ํฐ ๋ฐœ๊ธ‰

์ž๋ฐ” ํŽ„์ŠคํŽ™ํ‹ฐ๋ธŒ์—์„œ team-์‹ฑํฌ๋กœ๋‚˜์ด์ฆˆ ์›Œํฌ์ŠคํŽ˜์ด์Šค ์„ค์ • 

์‹ฑํฌ๋กœ๋‚˜์ด์ฆˆ ํŽ„์ŠคํŽ™ํ‹ฐ๋ธŒ์—์„œ ์‚ฌ์ด๋“œ ๋ฒ„ํŠผ๋“ค์„ ๋ณด๋ฉด ์•„๋ž˜ ํŒŒ๋ž€์ƒ‰ ํ™”์‚ดํ‘œ ๋ฒ„ํŠผ : ๋‚ด๊ฐ€ ๊นƒ์—์„œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ๋“ค ๋ชฉ๋ก

ํšŒ์ƒ‰ ํ™”์‚ดํ‘œ ๋‚ด๊ฐ€ ๊นƒ์— ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ๋“ค ๋ชฉ๋ก

ํ•˜๋‹จ์— git Staging

++ ์ดˆ๋ก ๋ฒ„ํŠผ ๋ˆ„๋ฅธ ๊ฒŒ ๋ช…๋ น์–ด๋กœ ๋”ฐ์ง€๋ฉด add . ์™€ ๋™์ผ

๋นจ๊ฐ„ ๋ฒ„ํŠผ์€ ๋‹ค์‹œ unstaged๋กœ ๋˜๋Œ๋ฆฌ๋Š” ๊ฒƒ

commit and push ๋ˆ„๋ฅด๊ธฐ

git์— ์—…๋กœ๋“œ ๋จ!

'git' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

branch ๊ธฐ๋Šฅ  (0) 2023.05.11
git - ํ”„๋กœ์ ํŠธ ์—…๋กœ๋“œ  (0) 2023.05.10