๐Ÿ’ป Git & github

Dayยท2022๋…„ 4์›” 7์ผ
0
post-thumbnail

์—ฌ๋Ÿฌ ํˆด๋“ค์€ ์ต์ˆ™ํ•ด์ ธ์•ผ ํ•œ๋‹ค.

์™œ ์“ฐ๋Š”์ง€ ์•Œ๊ณ  ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•จ

Git

VCS(๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ)( Version Control System)

ํ˜‘์—… ํˆด. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๋Š” ์‹œ์Šคํ…œ


๋ณด๋‹ค๋Š”,

์ด๊ฒŒ ๋‚ซ๋‹ค.

  • ์ˆ˜์ •ํ•  ๋•Œ๋งˆ๋‹ค ํŒŒ์ผ ์ƒˆ๋กœ ๋งŒ๋“ค๋ฉด ๊ด€๋ฆฌ๊ฐ€ ํž˜๋“œ๋‹ˆ๊นŒ ์ฝ”๋“œ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•œ๋‹ค.
  • ์–ธ์ œ๋“  ์ด์ „ ๋ฒ„์ „์˜ ์ฝ”๋“œ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
  • ์ด๋ ฅ์„ ๋‚จ๊ธธ ์ˆ˜ ์žˆ๋‹ค.(๋ˆ„๊ฐ€ ์—ฌ๊ธธ ์ž‘์—…ํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Œ)
  • ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‘๊ณ  ์—ฌ๋Ÿฌ๋ช…์˜ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ˜‘์—…ํ•  ์ˆ˜ ์žˆ์Œ

branch๋ผ๊ณ  ์ž‘์—…ํ•œ ๋ถ€๋ถ„์„ ๋”ฐ๋กœ ๋”ฐ๋กœ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์Œ

๊นƒ ๋ง๊ณ ๋„ cvs mercurial subversion ์ด๋Ÿฐ๊ฑฐ ์žˆ๋‹ค.
ํšŒ์‚ฌ์—์„œ ์“ฐ๋Š” ๊ฑฐ ์“ฐ๋ฉด ๋จ

ํ„ฐ๋ฏธ๋„์—์„œ ์ž‘์—…ํ•œ๋‹ค.





ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์–ด

  • git init: git ์‹œ์ž‘

๋‚ด๊ฐ€ ์ž‘์—…ํ•  ํด๋”์—์„œ git ์‹œ์ž‘ํ•˜๊ฒ ๋‹ค(์ถ”์  ๊ด€๋ฆฌ ํ•˜๊ฒ ๋‹ค)
๋„ˆ๋ฌด ์ƒ์œ„ ํด๋”์—์„œ ์ถ”์ ํ•˜๋ฉด ์•ˆ๋จ. ์“ธ๋ฐ ์—†๋Š”๊ฒŒ ๋งŽ์ด ๋‚˜์˜จ๋‹ค .

  • git status : git ์ƒํƒœ ํ™•์ธ

  • git add . : ํŒŒ์ผ ์ˆ˜์ • ์ด๋ ฅ ๊ธฐ๋ก ์ค€๋น„
    ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ €์žฅํ•˜๊ฒ ๋‹ค.
    ์ž„์‹œ์ €์žฅ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ

  • git commit: ํŒŒ์ผ ์ˆ˜์ • ์ด๋ ฅ ๊ธฐ๋ก. ์ €์žฅ.

  • git commit -m "๋ฉ”์„ธ์ง€" : ์ €์žฅํ•˜๋ฉด์„œ ๋ฉ”์„ธ์ง€ ๋‚จ๊ธด๋‹ค.

  • git log : commit ์ด๋ ฅ ๋ณด๊ธฐ (์ €์žฅ ์ด๋ ฅ)

git ํ™œ์šฉํ•˜๊ธฐ ex)

์ปค๋ฐ‹ํ•˜๋ฉด, ๊ฐ ์ปค๋ฐ‹๋งˆ๋‹ค ์ฝ”๋“œ๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ,
๋Œ์•„๊ฐ€๊ณ  ์‹ถ์œผ๋ฉด ๊ทธ ์ปค๋ฐ‹ ์ฝ”๋“œ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

branches



gitHub


์˜ฅํ† ์บฃ

์ค‘์‹ฌ, ๋ชจ์ด๋Š” ๊ณณ

  • Git์„ ์‚ฌ์šฉํ•œ ํ”„๋กœ์ ํŠธ๋“ค์˜ ์›๊ฒฉ ์ €์žฅ์†Œ(ํด๋ผ์šฐ๋“œ ๊ฐ™์€ ๊ฑฐ)(ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค)
  • ๊ฐœ๋ฐœ์ž๋“ค์˜ Social Network

github์— ์˜ฌ๋ฆฌ๋Š” ์—ฐ์Šต

get remote add orgin http: ~~ ๋Š”,
์ € ์ฃผ์†Œ์— ์›๊ฒฉ์œผ๋กœ ์—ฐ๊ฒฐ์„ ํ• ๊ฑฐ๊ณ , ์ด์ œ ์ด ์ฃผ์†Œ๋ฅผ origin์œผ๋กœ ํ• ๊ฒŒ ์ด๋Ÿฐ ์ฝ”๋“œ๋‹ค.
๋ณต๋ถ™ํ•ด๋†“๊ณ 
git remote --v ํ•˜๋ฉด ์—ฐ๊ฒฐ ์ž˜ ๋๋Š”์ง€ ๋œฌ๋‹ค.

๊นƒํ—™์ด๋ž‘ ์ปดํ“จํ„ฐ๋ž‘ ์—ฐ๊ฒฐ ํ–ˆ๋‹ค.

git push origin master : ์ด์ œ ๋‚ด๊ฐ€ ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ์˜ฌ๋ฆฌ๊ฒ ๋‹ค.
origin์—. master ์—.(์ด๊ฑด ๋‚˜์ค‘์— ์•Œ๊ฒŒ ๋จ)

์ž‘์—… ํด๋” git ์—ฐ๊ฒฐ ์‹œ์ผœ์„œ ์˜ฌ๋ฆฌ๋Š” ๊ฐ„๋‹จ ๊ณผ์ •

์ผ๋‹จ github ์—์„œ ์ƒˆ ์ €์žฅ์†Œ(repository) ๋งŒ๋“ค๊ณ 

๋‚ด ๋กœ์ปฌ ์ž‘์—… ํด๋” ์œ„์น˜์—์„œ,

git init

์ด๋Ÿฌ๋ฉด ์ž‘์—… ํด๋” ๋‚ด์— ์ˆจ๊ฒจ์ง„ .git ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ. ์ด์ œ git์€ ํ˜„์žฌ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ถ”์  ๊ด€๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค.

๊ทธ๋‹ค์Œ ์ถ”๊ฐ€ํ•˜๊ณ  ์ปค๋ฐ‹ํ•˜๊ณ  ~

git add .
git commit -m

ํด๋ก  ๋ฐ›์•„์„œ ์˜ฌ๋ฆฌ๋Š” ๊ฐ„๋‹จ ๊ณผ์ •

1.ํด๋ก  ํด๋” https ๋งํฌ ๋ณต์‚ฌํ•œ๋‹ค.

git clone ์ฃผ์†Œ 

github์—์„œ ํด๋ก  ๋ฐ›์€ ํŒŒ์ผ์€ ์ด๋ฏธ git ์ด๋ผ๋Š” ํŒŒ์ผ์ด ์žˆ์–ด์„œ git init ์•ˆํ•ด๋„ ๋œ๋‹ค.

master branch์—์„œ ์ž‘์—…ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ์„œ ์ƒˆ branch(์ž‘์—… ๊ณต๊ฐ„)์„ ํŒŒ์•ผ ํ•œ๋‹ค.

2. ๋‹ค์šด ๋ฐ›๋Š”๋‹ค๊ณ  ๊ทธ ์ฃผ์†Œ๋กœ ๊ฐ€๋Š” ๊ฑด ์•„๋‹ˆ๋ผ์„œ ๋งˆ์Šคํ„ฐ ์ฃผ์†Œ๋กœ ์ผ๋‹จ ๊ฐ„๋‹ค. (ํด๋ก  ํด๋” ์œ„์น˜)

cd ์œ„์น˜

3. branch ๋งŒ๋“ ๋‹ค.

git branch feature/daeyoung

4. ๋งŒ๋“ ๋‹ค๊ณ  ๋“ค์–ด๊ฐ€๋Š” ๊ฑด ์•„๋‹ˆ๋‹ค. ๊ทธ ๊ณต๊ฐ„์œผ๋กœ ๋“ค์–ด๊ฐ€์•ผ ํ•œ๋‹ค.

git checkout feature/daeyoung

5. ์ž‘์—… ํ•œ๋’ค์— ๋˜‘๊ฐ™์ด ์ปค๋ฐ‹๊นŒ์ง€ ํ•ด์„œ ์ €์žฅ.

git add .

git commit -m "add:๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์ˆ˜์ • ์™„๋ฃŒ "

6.๊ทธ๋‹ค์Œ ๊ทธ ์ €์žฅํ•œ ๊ฑธ github ์ƒ์— ๋˜‘๊ฐ™์ด ์˜ฌ๋ฆฐ๋‹ค.
origin์ด๋ผ๋Š” ๊ฑด ์›๋ž˜ ์žˆ๋˜ ๊ณณ์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ทธ๋Ÿฐ๊ฑฐ. ๊ทธ๋ƒฅ ์“ฐ๋ฉด๋จ. origin master ์ด๋ ‡๊ฒŒ ์“ธ ์ˆ˜๋„ ์žˆ์Œ

git push origin feature/daeyoung

7. ์ด๊นŒ์ง€ ๋˜๊ณ  ๋‚˜๋ฉด ์ด์ œ PR(pull request) ํ•˜๋Š” ๊ฑฐ๋‹ค.
ํ”„๋กœ์ ํŠธ ๋‚ด์šฉ ์„ค๋ช…ํ•˜๊ณ  merge ์‹œ์ผœ ์ฃผ์„ธ์š”! ํ•˜๋Š” ๋ณด๊ณ ์„œ๋ฅผ ์“ฐ๋Š” ๊ณณ.
PR์€ branch ๋‹จ์œ„์—ฌ์„œ, push ํ• ๋•Œ๋งˆ๋‹ค PR ๋ณด๊ณ ์„œ๋ฅผ ์“ธ ํ•„์š”๋Š” ์—†๋‹ค. ํ•˜๊ณ ์‹ถ์œผ๋ฉด ์ฝ”๋ฉ˜ํŠธ๋‚˜ ์ˆ˜์ • ๊ฐ€๋Šฅ

8. pullํ•ด์„œ master ์ตœ์‹ ํ™” ์‹œํ‚ค๊ธฐ.
github ํด๋ก  ๋ฐ›์•„์™”๋˜ ์ฒ˜์Œ master๋ž‘, push๊นŒ์ง€ ํ•˜๊ณ  ๋‚˜์„œ์˜ master ๋ž‘์€ ๋‹ค๋ฅด๋‹ค.
๋กœ์ปฌ์— ์žˆ๋Š” master์€ ์•„์ง ์ตœ์‹ ํ™”๊ฐ€ ์•ˆ๋˜์–ด์žˆ์Œ.
๊ทธ๊ฑฐ ์ตœ์‹ ํ™” ์‹œํ‚ค๋Š” ๊ฒŒ pull. ๋ณดํ†ต merge ๋  ๋•Œ ๋งˆ๋‹ค pull ํ•ด์ฃผ๋Š” ๊ฒŒ ์ข‹๋‹ค.

git pull origin master

์ฃผ์˜ํ•  ๊ฑด, ํ•ญ์ƒ ์ง€๊ธˆ ํ˜„์žฌ ์œ„์น˜๋ฅผ ํ™•์ธํ•˜๊ธฐ.

git branch ํ•˜๋ฉด ํ˜„์žฌ ์œ„์น˜, branch ๋ชฉ๋ก ๋‹ค ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€