[Git] pull and push

์ด์ง€ํ›ˆยท2021๋…„ 6์›” 28์ผ
0

git

๋ชฉ๋ก ๋ณด๊ธฐ
2/3
post-thumbnail

์†Œ์Šค์ฝ”๋“œ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ git์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋ฐฐ์šฐ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋„ˆ๋ฌด ์–ด๋ ค์› ๋‹ค. ๐Ÿคง ๋‚˜๋Š” ๋ฐ”๋ณด์ธ๊ฐ€๋ด...๐Ÿคฏ

๐Ÿฑ Git ์ด๋ž€

git์€ ๋ถ„์‚ฐํ˜• ๊ด€๋ฆฌ ์‹œ์Šคํ…œ( Distributed Version Control Systems ; DVCS)์œผ๋กœ ๋™์‹œ์— ๋‹ค์–‘ํ•œ ๊ทธ๋ฃน๊ณผ ํ˜‘์—…์„ ํ•  ๋•Œ, local pc์—์„œ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•˜๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ค‘์•™ ์„œ๋ฒ„์— ๋ณ‘ํ•ฉํ•˜์—ฌ ์œ ์—ฐํ•˜๊ฒŒ ๋ฒ„์ „๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.

๐Ÿฑ git ๋‹จ๊ณ„

1) Working Directory (์ž‘์—…์˜์—ญ)

  • ์‹ค์ œ ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ

  • .git ์ด๋ ฅ๊ณผ ๊ด€๋ จ ์ •๋ณด๊ฐ€ ์ €์žฅ ๋œ .git์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์˜์—ญ

  • ์‹ค์ œ ์ฝ”๋“œ์˜ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ ์ž‘์—…์ด ์ด๋ฃจ์–ด์ง€๋Š” ์˜์—ญ

2) Staging Area

  • Working Directory์—์„œ Repository๋กœ ์ •๋ณด ์ €์žฅ ์ „ ์ค€๋น„ ์˜์—ญ

  • ํŒŒ์ผ ์ƒํƒœ๋ฅผ ๊ธฐ๋ก, ์Šคํ…Œ์ด์ง• ํ•œ๋‹ค๊ณ  ํ‘œํ˜„ ํ•œ๋‹ค.

  • .git/index ํŒŒ์ผ๋กœ ๊ด€๋ฆฌ๋œ๋‹ค.

  • 3.1) git add : Working Directory ์—์„œ staging ์˜์—ญ์œผ๋กœ ์ •๋ณด๊ฐ€ ์ €์žฅ๋จ.

  • 3.2) git commit : staging์˜์—ญ์—์„œ Repository๋กœ ์ •๋ณด๊ฐ€ ์ €์žฅ๋จ.

3) Local Repository (๋กœ์ปฌ ์ €์žฅ์†Œ)

  • ํŒŒ์ผ, ํด๋”๋ฅผ ๋ณ€๊ฒฝ ์ด๋ ฅ๋ณ„๋กœ ์ €์žฅํ•ด ๋‘๋Š” ๊ณณ

  • ๊ฐœ์ธ PC์— ํŒŒ์ผ์ด ์ €์žฅ๋˜๋Š” ๊ฐœ์ธ ์ €์žฅ์†Œ

4) Remote Repository(์›๊ฒฉ ์ €์žฅ์†Œ)

  • ์›๊ฒฉ ์ €์žฅ์†Œ ์ „์šฉ ์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌ๋˜๋ฉฐ, ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค๊ณผ ๊ฐ™์ด ๊ณต์œ ๋„ ๊ฐ€๋Šฅํ•œ ์ €์žฅ์†Œ

๐Ÿฑ git ๋ช…๋ น์–ด

  • git init : git ์ดˆ๊ธฐํ™” ํ›„ ์ƒ์„ฑ

  • git clone github_์ฃผ์†Œ : ํด๋ก  ๋งŒ๋“ค๊ธฐ

  • git checkout branch_name : ๋ธŒ๋žœ์น˜ ๋จธ๋ฌด๋ฅด๊ธฐ(์„ ํƒํ•˜๊ธฐ)

  • git branch branch_name : ๋ธŒ๋žœ์น˜ ๋งŒ๋“ค๊ธฐ

  • git branch -r : remote branch(์›๊ฒฉ ๋ธŒ๋žœ์น˜) ํ™•์ธ

  • git branch -a : local branch(๋กœ์ปฌ ๋ธŒ๋žœ์น˜) ๋ชฉ๋ก ํ™•์ธ

  • git add . : ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ ์ˆ˜์ • ์ฝ”๋“œ ์„ ํƒํ•˜๊ธฐ

  • git commit -m "message" : ์„ ํƒํ•œ ์ฝ”๋“œ ๋ฉ”์„ธ์ง€(์„ค๋ช…) ์ ๊ธฐ

  • git push "remote_branch" "branch_name" : addํ•˜๊ณ  commit ํ•œ ํ›„์— github ์— ๋ณด๋‚ด๊ธฐ

  • git pull : remote_repo์—์„œ mergeํ•œ ์ตœ์‹  ์ฝ”๋“œ๋ฅผ local์— ๊ฐ€์ ธ์™€ mergeํ•˜๊ธฐ

  • git log : log ๊ธฐ๋ก ํ™•์ธ

  • git status : ๋ธŒ๋žœ์น˜์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์•ˆ๋‚ด

๐Ÿฑ git push(์ž‘์—…์ค‘์ผ๋•Œ)

  1. manage.py๊ฐ€ ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™
  2. git add .
  3. git commit -m "message"
    git push -u origin main # main์— ๋ณด๋‚ผ ๋•Œ
  4. git push origin branch๋ช… # git checkout -b "์ƒˆ๋ธŒ๋žœ์น˜๋ช…"
  5. github ์ €์žฅ์†Œ์—์„œ Compare & pull request ํด๋ฆญ
  6. label์„ ๋ฆฌ๋ทฐ์š”์ฒญ์œผ๋กœ ๋ณ€๊ฒฝ
  • ์ž‘์—…์ค‘์ด๋ฏ€๋กœ git init์„ ํ•˜๋ฉด remote๊ฐ€ ์‚ฌ๋ผ์ง

๐Ÿฑ git pull

  1. merge ํ™•์ธ
    (์ˆ˜์ •์ค‘์ด์—ˆ์„๋•Œ๋Š” ๊ธฐ๋ก์ด ์žˆ์œผ๋ฏ€๋กœ
    1-1. git add .
    1-2. git commit -m ""
    (๊ธฐ๋ก ์•ˆํ–ˆ์„ ๋•Œ)
  2. git checkout main
  3. git pull origin main
  4. git checkout -b ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ๋ช…
  5. ์ž‘์—…

git push(repo์— main์„ ๋งŒ๋“ค ๋•Œ)

  1. manage.py ๋””๋ ‰ํ† ๋ฆฌ ์ด๋™
  2. git init
  3. git commit -m "message"
  4. git push -u origin main # main์„ ๋จผ์ € ๋ณด๋ƒ„
  5. git checkout -b # ๋ธŒ๋žœ์น˜ ์ƒ์„ฑํ›„ ๋ธŒ๋žœ์น˜์— ๋จธ๋ฌด๋ฆ„
  6. git push origin branch๋ช…
  7. Compare & pull request

git pull (์ฒ˜์Œ repo์—์„œ main pull)

  1. manage.py ๋””๋ ‰ํ† ๋ฆฌ
  2. git checkout main
  3. git init
  4. git remote add origin github๋งํฌ
    ๋˜๋Š” git clone github์ฃผ์†Œ
  • git cloneํ•˜๋ฉด ๋‚ด์šฉ์„ ๋‹ค์šด๋กœ๋“œ๋ฐ›๊ณ  ์ž๋™์œผ๋กœ init๋„ ๋จ
  1. git pull origin main
  2. git checkout -b "branch๋ช…"

์ฐธ๊ณ  ์ž๋ฃŒ

https://goddaehee.tistory.com/217?category=381481

https://backlog.com/git-tutorial/kr/stepup/stepup2_3.html

https://pks2974.medium.com/%EC%9E%90%EC%A3%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EA%B8%B0%EC%B4%88-git-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC%ED%95%98%EA%B8%B0-533b3689db81

https://wayhome25.github.io/git/2017/07/08/git-first-pull-request-story/

profile
๊พธ์ค€ํ•˜๊ฒŒ ๐ŸŒ

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