Git-1

Git, GitHub ์ด๋ก , ๋ช…๋ น์–ด

Git ์ •์˜

  • Git์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํŒŒ์ผ์„ ๋ถ„์‚ฐํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š” ์‹œ์Šคํ…œ์ด๋‹ค.
  • Main Server Repo์—์„œ Local Repo๋กœ ๊ฐ€์ ธ์™€์„œ ๋กœ์ปฌ ๋‚ด์—์„œ ์ž‘์—… ํ›„, server์— ์˜ฌ๋ฆฌ๋Š” ๋ฐฉ์‹์ด๋‹ค.

s1

Git repo ์ด์šฉ๋ฒ• / ๊ธฐ๋ณธ ๋ช…๋ น์–ด (by Git Bash)

๋กœ์ปฌ ๋ ˆํฌ ์ด์šฉ ๋ฐฉ๋ฒ•
  • ๋กœ์ปฌ์—์„œ git ํด๋”๋ฅผ ๋งŒ๋“ค์–ด ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ํ•œ๋‹ค.

s2

git init        // .git ๋กœ์ปฌ ์ €์žฅ์†Œ ๋งŒ๋“ค๊ธฐ,
                //์„œ๋ฒ„์—์„œ ๊ฐ€์ ธ์™€์„œ Local์—์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” repo๋ฅผ ๋งŒ๋“ ๋‹ค.
                // ์„œ๋ฒ„์— ์—ฐ๊ฒฐ ์•ˆ๋œ ์ƒํƒœ์—์„œ ์ž„์˜๋กœ ์„ค์ • ๊ฐ€๋Šฅ

git status              // ๋ณ€๊ฒฝ ์ƒํƒœ ์ฒดํฌ, ํŒŒ์ผ์ด ๋ณ€๊ฒฝ๋๋Š”์ง€? commit์ด ๋๋Š”์ง€?
git add [file name]]    // ํŒŒ์ผ ์ถ”๊ฐ€ ( . ์€ ๋ชจ๋“  ํŒŒ์ผ ์ถ”๊ฐ€ ), ์ปค๋ฐ‹ํ•  ํŒŒ์ผ๋“ค์„ ์ถ”๊ฐ€ ํ•ด์ค€๋‹ค.
git commit -m message   // ์ปค๋ฐ‹ + ๋ฉ”์„ธ์ง€, Local Repo ์˜ฌ๋ ค์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
๋กœ์ปฌ ๋ ˆํฌ์—์„œ branch ์ด์šฉ ๋ฐฉ๋ฒ•
  • Local ๋‚ด์—์„œ ํ˜‘์—…์ด๋‚˜ ํ˜ผ์ž ์ž‘์—…ํ•  ๋•Œ, ๊ธฐ์กด ์›๋ณธ์„ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  ๋ธŒ๋žœ์น˜๋ฅผ ์ด์šฉํ•ด์„œ ์ปค๋ฐ‹ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
  • Local ๋‚ด์—์„œ ์‚ฌ๋ณธ์„ ๋งŒ๋“ค์–ด ์ˆ˜์ •ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

s3

git branch ์ด๋ฆ„                 // main์—์„œ ๋˜‘๊ฐ™์€ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ๋˜๋‹ค๋ฅธ branch๋ฅผ ๋งŒ๋“ ๋‹ค.
git checkout [branch name]      // ๋‹ค๋ฅธ branch๋กœ ์ด๋™ํ•œ๋‹ค.

-- ์ž‘์—… ์‹คํ–‰ โ€“

git status                      // ๋ณ€๊ฒฝ ์ƒํƒœ ์ฒดํฌ, ํŒŒ์ผ์ด ๋ณ€๊ฒฝ๋๋Š”์ง€? commit์ด ๋๋Š”์ง€?
git add ํŒŒ์ผ๋ช…                  // ํŒŒ์ผ ์ถ”๊ฐ€ ( . ์€ ๋ชจ๋“  ํŒŒ์ผ ์ถ”๊ฐ€ )
git commit -m message           // ์ปค๋ฐ‹ + ๋ฉ”์„ธ์ง€, Local Repo ์˜ฌ๋ ค์ค€๋‹ค.

git branch main                 // main branch๋กœ ๋‹ค์‹œ ๋Œ์•„๊ฐ„๋‹ค.
git merge [branch name]         // main์—์„œ merge๋ฅผ ํ•œ๋‹ค.

--> ์ถฉ๋Œ์ด ๋‚  ๊ฒฝ์šฐ? : Master์™€ Test Branch ๋‘ ๋ธŒ๋žœ์น˜ ๋ชจ๋‘ ๊ฐ™์€ ๊ณณ์—์„œ ์ˆ˜์ •์„ ํ–ˆ๋‹ค๋ฉด ์ถฉ๋Œ์ด ์ผ์–ด๋‚œ๋‹ค.
์ด ์ถฉ๋Œ์ด ๋‚  ๊ฒฝ์šฐ, ์ง์ ‘ ์ˆ˜์ •ํ•ด์ฃผ๊ณ  ๋‹ค์‹œ

git add ํŒŒ์ผ๋ช…                 // ํŒŒ์ผ ์ถ”๊ฐ€ ( . ์€ ๋ชจ๋“  ํŒŒ์ผ ์ถ”๊ฐ€ )
git commit -m                  // ์ปค๋ฐ‹ + ๋ฉ”์„ธ์ง€, Local Repo ์˜ฌ๋ ค์ค€๋‹ค.
์›๊ฒฉ ์ €์žฅ์†Œ ์ƒ์„ฑ (Github)
  • ์œ„์˜ ์„ค๋ช…๊นŒ์ง€๋Š” โ€˜gitโ€™๋‚ด์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๋“ค์„ ํฌ์ŠคํŒ…ํ–ˆ๋‹ค.
    ์ด์ œ๋Š” โ€˜์›๊ฒฉ ์ €์žฅ์†Œโ€™ ์™€ โ€˜๋กœ์ปฌ ์ €์žฅ์†Œโ€™๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋งํ•  ๊ฒƒ์ด๋‹ค.

  • ์šฐ๋ฆฌ๋Š” ์—ฐ๊ฒฐ์„ ํ†ตํ•ด์„œ,
    1. ์šฐ๋ฆฌ๊ฐ€ ํ•˜๊ณ  ์žˆ๋Š” ์ž‘์—…์„ .git์ด๋ผ๋Š” ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์ €์žฅํ–ˆ๋‹ค๋ฉด
      main ์„œ๋ฒ„์ธ ์›๊ฒฉ(remote)์ €์žฅ์†Œ์— ๋กœ์ปฌ์—์„œ์˜ ์ˆ˜์ •๋œ ํŒŒ์ผ์„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค.
    2. ๋ฐ˜๋Œ€๋กœ ์›๊ฒฉ์ €์žฅ์†Œ์— ์ €์žฅํ–ˆ๋˜ ๋ฒ„์ „์„ ๋กœ์ปฌ๋กœ ๋‹ค์šด ๋ฐ›์•„ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์ด ์›๊ฒฉ ์ €์žฅ์†Œ(Main Server Repository)๊ฐ€ GitHub์ด๋‹ค. ์—ฐ๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€๋‹ค.

s1

  • ์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ .git ํด๋”๋ฅผ ๋งŒ๋“  ์ƒํƒœ์—์„œ ์›๊ฒฉ์—์„œ ๋งŒ๋“ค์–ด์ง„ repository์™€ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
git init                            // .git ํด๋”๋ฅผ ๋งŒ๋“ค๊ธฐ
git remote add origin address       // repository ์ฃผ์†Œ ์ž…๋ ฅ ํ›„, repository์™€ ์—ฐ๊ฒฐ
git pull origin main(or master)     // github repository์— ์žˆ๋Š” ๋‚ด์šฉ๋“ค ๋Œ์–ด์˜ค๊ธฐ
                -- ์ž‘์—… ์ง„ํ–‰ โ€“
git status                          // ๋ณ€๊ฒฝ ์ƒํƒœ ์ฒดํฌ, ํŒŒ์ผ์ด ๋ณ€๊ฒฝ๋๋Š”์ง€? commit์ด ๋๋Š”์ง€?
git add ํŒŒ์ผ๋ช…                      // ํŒŒ์ผ ์ถ”๊ฐ€ ( . ์€ ๋ชจ๋“  ํŒŒ์ผ ์ถ”๊ฐ€ )
git commit -m message               // ์ปค๋ฐ‹ + ๋ฉ”์„ธ์ง€, Local Repo ์˜ฌ๋ ค์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
git push -u origin main             // ๋งˆ์ง€๋ง‰์œผ๋กœ โ€˜mainโ€™ ์„œ๋ฒ„์— ๋„ฃ์–ด์ค€๋‹ค.
  • ๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ํด๋ก ์„ ํ•ด์„œ ๋‚ด ๋กœ์ปฌ์— ๋Œ์–ด์˜ค๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
    (git init์ด ํ•„์š”์—†๋‹ค.)
git clone ์ฃผ์†Œ              // ์›ํ•˜๋Š” ๋กœ์ปฌ ํด๋”์—์„œ
                            // Remote repository์˜ ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•ด์„œ ๋กœ์ปฌ์— ๋ณต์ œํ•œ๋‹ค.
                -- ์ž‘์—… ์ง„ํ–‰ โ€“
git status                  // ๋ณ€๊ฒฝ ์ƒํƒœ ์ฒดํฌ, ํŒŒ์ผ์ด ๋ณ€๊ฒฝ๋๋Š”์ง€? commit์ด ๋๋Š”์ง€?
git add ํŒŒ์ผ๋ช…              // ํŒŒ์ผ ์ถ”๊ฐ€ ( . ์€ ๋ชจ๋“  ํŒŒ์ผ ์ถ”๊ฐ€ )
git commit -m message       // ์ปค๋ฐ‹ + ๋ฉ”์„ธ์ง€, Local Repo ์˜ฌ๋ ค์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
git push -u origin main     // ๋งˆ์ง€๋ง‰์œผ๋กœ โ€˜mainโ€™ ์„œ๋ฒ„์— ๋„ฃ์–ด์ค€๋‹ค.

Git-2 ์ด์–ด์„œโ€ฆ

ํƒœ๊ทธ: , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ: