Bibi's DevLog ๐Ÿค“๐ŸŽ

[์ง€์˜ฅ์—์„œ ์˜จ Git] 4. ๊นƒํ—ˆ๋ธŒ๋กœ ๋ฐฑ์—… - (๋ฏธ์™„) ์›๊ฒฉ์ €์žฅ์†Œ, ๊นƒํ—ˆ๋ธŒ, push, pull ๋ณธ๋ฌธ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ/Git & GIthub ๊นƒ๊ณผ ๊นƒํ—ˆ๋ธŒ

[์ง€์˜ฅ์—์„œ ์˜จ Git] 4. ๊นƒํ—ˆ๋ธŒ๋กœ ๋ฐฑ์—… - (๋ฏธ์™„) ์›๊ฒฉ์ €์žฅ์†Œ, ๊นƒํ—ˆ๋ธŒ, push, pull

๋น„๋น„ bibi 2021. 2. 9. 18:03

4. ๊นƒํ—ˆ๋ธŒ๋กœ ๋ฐฑ์—…ํ•˜๊ธฐ

4.1 ์›๊ฒฉ ์ €์žฅ์†Œ์™€ ๊นƒํ—ˆ๋ธŒ

์ง€๊ธˆ๊นŒ์ง€ add, pushํ•œ ๊ฒƒ์€ ๋‚ด ์ปดํ“จํ„ฐ ๋‚ด์— ์ €์žฅ๊ณต๊ฐ„์„ ๋‚˜๋ˆ„์–ด ๋ฐฑ์—…ํ•œ ๊ฒƒ์ด๋‹ค.

  • ๋กœ์ปฌ ์ €์žฅ์†Œ(์ง€์—ญ ์ €์žฅ์†Œ, local repository) : ๋‚ด ์ปดํ“จํ„ฐ ๋‚ด์— ๋งŒ๋“  ์ €์žฅ์†Œ.

๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ์‹ค์ˆ˜๋กœ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ปดํ“จํ„ฐ๊ฐ€ ๊ณ ์žฅ๋‚˜๋ฉด ์ž‘์—…๋‚ด์šฉ์ด ์‚ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์—,
์ž‘์—… ์ค‘์ธ ์ปดํ“จํ„ฐ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๊ณณ๋„ ๋ฐฑ์—…์„ ํ•ด์•ผ ํ•œ๋‹ค.

  • ์›๊ฒฉ ์ €์žฅ์†Œ(remote repository) : ๋กœ์ปฌ์ €์žฅ์†Œ๊ฐ€ ์•„๋‹Œ ์ปดํ“จํ„ฐ๋‚˜, ์„œ๋ฒ„์— ๋งŒ๋“  ์ €์žฅ์†Œ.
    • ์›๊ฒฉ์ €์žฅ์†Œ์˜ ์—ญํ•  : '๋ฐฑ์—…'๊ณผ 'ํ˜‘์—…'
    • ์ฃผ๋กœ ์ธํ„ฐ๋„ท์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ์›๊ฒฉ์ €์žฅ์†Œ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ,
      ๊ทธ ์ค‘ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์ด ๊นƒํ—ˆ๋ธŒ์ด๋‹ค.
    • ๊นƒ์—์„œ๋Š” ๋กœ์ปฌ์ €์žฅ์†Œ์™€ ์›๊ฒฉ์ €์žฅ์†Œ๋ฅผ ์—ฐ๊ฒฐํ•ด, ํŒŒ์ผ๋“ค์„ ์‰ฝ๊ฒŒ ๋ฐฑ์—…ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๊นƒํ—ˆ๋ธŒ์—์„œ๋Š” ์ €์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์—ฌ๋Ÿฌ ์˜คํ”ˆ์†Œ์Šค๋“ค๋„ ์˜ฌ๋ผ์™€ ์žˆ๋‹ค.

๊นƒํ—ˆ๋ธŒ๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ

  • ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ๊นƒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
  • ๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ๋ฐฑ์—…ํ•  ์ˆ˜ ์žˆ์Œ
  • ํ˜‘์—… ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•จ
  • ๊ฐœ๋ฐœ ์ด๋ ฅ์„ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์Œ
  • ์˜คํ”ˆ์†Œ์Šค(๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์†Œ์Šค)๋ฅผ ์ฝ๊ณ  ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ์Œ

4.2 ๊นƒํ—ˆ๋ธŒ ์‹œ์ž‘ํ•˜๊ธฐ

๊นƒํ—ˆ๋ธŒ ๊ฐ€์ž…

๊นƒํ—ˆ๋ธŒ ํšŒ์›๊ฐ€์ž… ๋ฐ ์ด๋ฉ”์ผ ์ธ์ฆ.

๊นƒํ—ˆ๋ธŒ์— ์›๊ฒฉ ์ €์žฅ์†Œ ๋งŒ๋“ค๊ธฐ

๊นƒํ—ˆ๋ธŒ์—์„œ ์ €์žฅ์†Œ๋Š” repository๋กœ ํ‘œ์‹œํ•œ๋‹ค.

  • ๊นƒํ—ˆ๋ธŒ ์ €์žฅ์†Œ์— ์ ‘์†ํ•  ๋•Œ๋Š” HTTPS ๋˜๋Š” SSH๋ฅผ ์ด์šฉํ•œ๋‹ค.
    • ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ ์ ‘์†ํ• ๋–„๋Š” HTTPS๋ฅผ ์ด์šฉํ•œ๋‹ค.

4.3 ๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์—ฐ๊ฒฐํ•˜๊ธฐ

๋กœ์ปฌ ์ €์žฅ์†Œ์˜ ํŒŒ์ผ์„ ์›๊ฒฉ ์ €์žฅ์†Œ๋กœ ์˜ฌ๋ ค๋ณธ๋‹ค.

์›๊ฒฉ ์ €์žฅ์†Œ ์ ‘์†๋ฐฉ๋ฒ• ์ค‘ '์ปค๋งจ๋“œ๋ผ์ธ์—์„œ ๊ธฐ์กด ์ €์žฅ์†Œ๋ฅผ ํ‘ธ์‹œ'ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

  • git remote add origin ์›๊ฒฉ์ €์žฅ์†Œ์ฃผ์†Œ
    : ๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ํŠน์ • ์›๊ฒฉ ์ €์žฅ์†Œ์— ์—ฐ๊ฒฐํ•œ๋‹ค.
    ์›๊ฒฉ ์ €์žฅ์†Œ(remote)์— origin์„ ์ถ”๊ฐ€ํ•˜๊ฒ ๋‹ค๋Š” ๋ช…๋ น.
    • origin์€ ๊นƒํ—ˆ๋ธŒ ๊ธฐ๋ณธ ์›๊ฒฉ์ €์žฅ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹จ์–ด์ด๋‹ค.
      ('๊นƒํ—ˆ๋ธŒ ๊ธฐ๋ณธ ์›๊ฒฉ์ €์žฅ์†Œ'๋ผ๋Š” ๋‹จ์–ด๋Š” ๋„ˆ๋ฌด ๊ธธ๊ธฐ ๋•Œ๋ฌธ์— origin์ด๋ผ๊ณ  ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ)
      (๊นƒ์˜ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋ฅผ master๋ผ๊ณ  ํ•˜๋“ฏ์ด, ๊ธฐ๋ณธ ์›๊ฒฉ์ €์žฅ์†Œ๋ฅผ origin์ด๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์ž„)
  • git remote -v
    : ์›๊ฒฉ ์ €์žฅ์†Œ์— ์ œ๋Œ€๋กœ ์—ฐ๊ฒฐ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.
    • ๊ฒฐ๊ณผ ๋ฉ”์‹œ์ง€
      origin https://github.com/bibi6666667/github_test.git (fetch)
      origin https://github.com/bibi6666667/github_test.git (push)

4.4 ์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ๊ธฐ(push) ๋ฐ ๋‚ด๋ ค๋ฐ›๊ธฐ(pull)

๋กœ์ปฌ ์ €์žฅ์†Œ์™€ ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ๋‚˜๋ฉด,
๋กœ์ปฌ ์ €์žฅ์†Œ์˜ ์†Œ์Šค๋ฅผ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ๊ฑฐ๋‚˜ (push, ํ‘ธ์‹œ)
์›๊ฒฉ ์ €์žฅ์†Œ์˜ ์†Œ์Šค๋ฅผ ๋กœ์ปฌ ์ €์žฅ์†Œ๋กœ ๋‚ด๋ ค๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. (pull, ํ’€)

์›๊ฒฉ ์ €์žฅ์†Œ์— ์˜ฌ๋ฆฌ๊ธฐ - ํ‘ธ์‹œ push

  • git push -u origin master
    : ์ง€์—ญ ์ €์žฅ์†Œ์˜ ๋ธŒ๋žœ์น˜๋ฅผ origin(์›๊ฒฉ ์ €์žฅ์†Œ์˜ master๋ธŒ๋žœ์น˜)์œผ๋กœ ํ‘ธ์‹œํ•˜๋ผ๋Š” ๋ช…๋ น.

    • -u : ์ง€์—ญ ์ €์žฅ์†Œ์˜ ๋ธŒ๋žœ์น˜๋ฅผ ์›๊ฒฉ ์ €์žฅ์†Œ์˜ master๋ธŒ๋žœ์น˜์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ. (์ฒ˜์Œ ํ•œ ๋ฒˆ๋งŒ ์‚ฌ์šฉ)
    • ๊ฒฐ๊ณผ ๋ฉ”์‹œ์ง€
      Enumerating objects: 3, done.
      Counting objects: 100% (3/3), done.
      Writing objects: 100% (3/3), 203 bytes | 203.00 KiB/s, done.
      Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
      To https://github.com/bibi6666667/github_test.git
      [new branch] master -> master
      Branch 'master' set up to track remote branch 'master' from 'origin'.
  • git push
    : ํ•œ ๋ฒˆ์ด๋ผ๋„ ๋กœ์ปฌ์ €์žฅ์†Œ์™€ ์›๊ฒฉ์ €์žฅ์†Œ๋ฅผ ์—ฐ๊ฒฐํ•œ ๋‹ค์Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ‘ธ์‹œ ๋ช…๋ น.
    (์ด๋ฏธ ์ง€์—ญ์ €์žฅ์†Œ์˜ ๋ธŒ๋žœ์น˜์™€ origin์˜ master๋ธŒ๋žœ์น˜๋ฅผ ์—ฐ๊ฒฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—)

๊นƒํ—ˆ๋ธŒ ์‚ฌ์ดํŠธ์—์„œ ์ง์ ‘ ์ปค๋ฐ‹ํ•˜๊ธฐ

์ง€์—ญ ์ €์žฅ์†Œ๊ฐ€ ์žˆ๋Š” ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์„ ๋•Œ, ๊นƒํ—ˆ๋ธŒ ์‚ฌ์ดํŠธ์—์„œ ์ง์ ‘ ํŒŒ์ผ์„ ์ปค๋ฐ‹ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

  1. ๊นƒํ—ˆ๋ธŒ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์ ‘์†ํ•ด Add file์„ ๋ˆ„๋ฅธ๋‹ค.

    • Create new file : ํŒŒ์ผ ์ด๋ฆ„๊ณผ ๋‚ด์šฉ์„ ์ž…๋ ฅํ•œ๋‹ค

    • Upload files : ์—…๋กœ๋“œํ•  ํŒŒ์ผ์„ ์„ ํƒํ•œ๋‹ค

  2. ํ™”๋ฉด ์•„๋ž˜์˜ ์ปค๋ฐ‹๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•˜๊ณ  Commit new file์„ ๋ˆŒ๋Ÿฌ ์ปค๋ฐ‹ํ•œ๋‹ค.

์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ๋‚ด๋ ค๋ฐ›๊ธฐ - ํ’€ pull

์›๊ฒฉ ์ €์žฅ์†Œ์˜ ์†Œ์ŠคํŒŒ์ผ์„ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ์ˆ˜์ •ํ–ˆ๊ฑฐ๋‚˜, ๊นƒํ—ˆ๋ธŒ ์‚ฌ์ดํŠธ์—์„œ ์ง์ ‘ ์ปค๋ฐ‹ํ•˜๋ฉด ๋กœ์ปฌ์ €์žฅ์†Œ์™€ ์ฐจ์ด๊ฐ€ ์ƒ๊ธด๋‹ค.
์ด๋Ÿด ๋•Œ ์›๊ฒฉ์ €์žฅ์†Œ์™€ ๋กœ์ปฌ์ €์žฅ์†Œ์˜ ์ƒํƒœ๋ฅผ ๊ฐ™๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์›๊ฒฉ์ €์žฅ์†Œ์˜ ์†Œ์Šค๋ฅผ ์ง€์—ญ ์ €์žฅ์†Œ๋กœ ๊ฐ€์ ธ์™€์•ผ ํ•œ๋‹ค - ์ด๊ฒƒ์„ ํ’€pull์ด๋ผ๊ณ  ํ•œ๋‹ค.

  • git pull origin master ๋˜๋Š” git pull
    : origin(์›๊ฒฉ ์ €์žฅ์†Œ)์˜ ๋‚ด์šฉ์„ master๋ธŒ๋žœ์น˜๋กœ ๊ฐ€์ ธ์˜จ๋‹ค.

    • ๊ธฐ๋ณธ ์›๊ฒฉ ์ €์žฅ์†Œ๊ฐ€ origin์ด๊ณ , ๋กœ์ปฌ์ €์žฅ์†Œ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๊ฐ€ master์ด๊ธฐ ๋–„๋ฌธ์— ์ƒ๋žต ๊ฐ€๋Šฅํ•จ.

    • ๊ฒฐ๊ณผ ๋ฉ”์‹œ์ง€ (f2.txt๋Š” ์ƒˆ๋กœ ๋‚ด๋ ค๋ฐ›์€ ํŒŒ์ผ๋ช…์— ํ•ด๋‹นํ•จ)
      remote: Enumerating objects: 4, done.
      remote: Counting objects: 100% (4/4), done.
      remote: Compressing objects: 100% (2/2), done.
      remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
      Unpacking objects: 100% (3/3), 638 bytes | 37.00 KiB/s, done.
      From https://github.com/bibi6666667/github_test

      branch master -> FETCH_HEAD
      2c6193f..4b0204e master -> origin/master
      Updating 2c6193f..4b0204e
      Fast-forward
      f2.txt | 1 +
      1 file changed, 1 insertion(+)
      create mode 100644 f2.txt

๊นƒํ—ˆ๋ธŒ ์ €์žฅ์†Œ ํ™”๋ฉด ์‚ดํŽด๋ณด๊ธฐ

  • Unwatch : ํ•ด๋‹น ์ €์žฅ์†Œ์˜ ์•Œ๋ฆผ์„ ๋ฐ›๋„๋ก ์„ค์ •
  • Star : ์ €์žฅ์†Œ ์ฆ๊ฒจ์ฐพ๊ธฐ
  • Fork : ์ €์žฅ์†Œ ๋ณต์ œ. ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜๊ฑฐ๋‚˜ ์†Œ์Šค๋ฅผ ์ง์ ‘ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ. (6์žฅ์—์„œ ์„ค๋ช…)

4.5 ๊นƒํ—ˆ๋ธŒ์— SSH ์›๊ฒฉ ์ ‘์†ํ•˜๊ธฐ

์ด ๋ถ€๋ถ„์€ ์šฐ์„  ๋„˜์–ด๊ฐ€๊ณ  ๋‹ค์Œ์— ๊ณต๋ถ€ ๋ฐ ์ •๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.