ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Git] Git๊ณผ Github, commit
    Git 2023. 6. 7. 00:43
    728x90

     

     

     

    ๐Ÿ”ถGti๊ณผ Github?

    Git: ๋‚ด ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ํ˜•์ƒ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

    Github : ๋กœ์ปฌ์ด ์•„๋‹Œ ์›๊ฒฉํ™˜๊ฒฝ์— ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค์ด๋‹ค. 

    โ‰’ ๊ตฌ๊ธ€๋“œ๋ผ์ด๋ฒ„

     

    git์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ์˜์—ญ์€ ํฌ๊ฒŒ 3๊ฐ€์ง€๋กœ ๋ณธ๋‹ค.

    1. ํ˜„์žฌ ์ž‘์—…์ค‘์ธ Working Directory
    2. commit ํ•  ํŒŒ์ผ์˜ ์˜ˆ๋น„ ์ €์žฅ์†Œ, ํ˜น์€ ์ถ”์  ๋Œ€์ƒ ํŒŒ์ผ์˜ ๊ณต๊ฐ„์ธ Staging Area
    3. ๊ฐ์œ ์ €์˜ ์ปดํ“จํ„ฐ์—์„œ ๊ด€๋ฆฌ๋˜๊ณ  ์žˆ๋Š” ๋กœ์ปฌ ์ €์žฅ์†Œ

     

     

    ์ธํ…”๋ฆฌ์ œ์ด๋ฅผ ํ†ตํ•ด ์Šคํ”„๋ง๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๋””๋ ‰ํ† ๋ฆฌ์— ๊ฐ์ข… ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค.

    ํ”„๋กœ์ ํŠธ๊ฐ€ ์ƒ์„ฑ๋œ ๋””๋ ‰ํ† ๋ฆฌ์— git์œผ๋กœ ๋ฒ„์ „๊ด€๋ฆฌ๋ฅผ ํ•˜๊ฒ ๋‹ค๋Š” ์ดˆ๊ธฐํ™” ์ž‘์—…์„ ํ•ด์ฃผ๋ฉด ๊ทธ๊ฒŒ Working Directory๊ฐ€ ๋œ๋‹ค.

     

    ์šฐ๋ฆฌ๊ฐ€ ๋ˆˆ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์ €์žฅ๊ณต๊ฐ„์ด ๋ฐ”๋กœ Working Directory์ด๋ฉฐ, ํ˜„์žฌ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋‹ด๊ธด ๋””๋ ‰ํ† ๋ฆฌ๋ผ๊ณ  ์ƒ๊ฐํ•ด๋„ ๋ฌด๋ฐฉํ•˜๋‹ค.

     

     

    Github๋Š” ๋กœ์ปฌ ์ €์žฅ์†Œ์— commitํ•œ ๋‚ด์šฉ์„ ๋‹ค๋ฅธ ๋””๋ฐ”์ด์Šค๋‚˜ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋กœ์ปฌ ์ €์žฅ์†Œ์˜ ๋‚ด์šฉ์„ push๋ผ๋Š” ์•ก์…˜์œผ๋กœ ์ „๋‹ฌ๋ฐ›์•„์„œ ์ €์žฅํ•˜๊ฒŒ ๋œ๋‹ค.

    ๋กœ์ปฌ ํ™˜๊ฒฝ์ด ์•„๋‹Œ ์›๊ฒฉ์ง€์— ์œ„์น˜ํ•œ git ์ €์žฅ์†Œ๋ฅผ Remote Rapoditory, ์›๊ฒฉ์ €์žฅ์†Œ๋ผ๊ณ  ํ•œ๋‹ค.

     

     

     

     

     


    ๐Ÿ”ถ Git์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชฉ์ 

     

    1) ๋ฒ„์ „๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค

    - ๊ฐ ๋ฒ„์ „๋ณ„๋กœ ์†Œ์Šค์˜ ์–ด๋Š ๋ถ€๋ถ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€, ๋ชจ๋“  ํžˆ์Šคํ† ๋ฆฌ๊ฐ€ ๋‚จ์•„์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹ ๊ทœ๊ธฐ๋Šฅ์€ ์–ด๋ŠํŒŒ์ผ์— ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ์šฉ์ดํ•˜๋‹ค.

    - commit์ด๋ผ๋Š” ์•ก์…˜ ๋‹จ์œ„๋กœ ๋ณ€๋™์‚ฌํ•ญ์— ๋Œ€ํ•œ ์Šค๋ƒ…์ƒท์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํžˆ์Šคํ† ๋ฆฌ ๊ด€๋ฆฌ์— ์šฉ์ดํ•˜๋‹ค.

     

     

    2) ์ž‘์—…๋‹จ์œ„๋ฅผ ์„ธ๋ถ„ํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค.

    ํŠน์ • ๊ธฐ๋Šฅ์„ ์™„์„ฑํ•˜๊ณ  ๊ทธ ๋ฐ˜์˜์‚ฌํ•ญ์„ commitํ•˜๊ฒŒ ๋˜๋ฉด, ๋ฐ˜์˜ ์ „ํ›„๋กœ ์„œ๋น„์Šค ๋™์ž‘์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ผ์น˜๋Š”์ง€ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

    ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ๋ณต๊ตฌ์‹œํ‚ค๋Š”๊ฒƒ๋„ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

     

     

     

    3) ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ์—์„œ ํ˜‘์—…์— ์œ ์šฉํ•จ

    ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ๋ผ๋„ ๊ตฌํ˜„ํ•˜๋Š” ๊ธฐ๋Šฅ๋‹จ์œ„์— ๋”ฐ๋ผ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ.

    ๋™์ผํ•œ ํŒŒ์ผ์ด ์•„๋‹Œ branch๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ๋‚˜์ค‘์— ํ•˜๋‚˜๋กœ ํ•ฉ์น  ๋•Œ ์ถฉ๋Œํ•˜๋Š” ํƒ์ง€ํ•ด์„œ ์•Œ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.

     

     

     


    ๐Ÿ”ถ ๋ฒ„์ „๊ด€๋ฆฌ์™€ commit 

    commit ์€ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ €์žฅํ•œ๋‹ค๋Š” ์ ์—์„œ ํŒŒ์ผ์„ ์ €์žฅํ•˜๋Š”๊ฒƒ๊ณผ ์œ ์‚ฌํ•˜๋‹ค.

    Git ์—์„œ๋Š” '๋ˆ„๊ฐ€, ์–ธ์ œ, ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์˜ ์ƒํƒœ๊ฐ€ ์–ด๋–ค์ง€(ํ˜„์žฌ ํŒŒ์ผ ๋‚ด์šฉ๋“ค)' ์„ธ ๊ฐ€์ง€ ์ •๋ณด๋ฅผ ํฌํ•จํ•ด ์ž‘์—…๋‚ด์—ญ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ์ƒํƒœ๋ฅผ ์ €์žฅํ•œ ๊ฒƒ์„ commit(์ปค๋ฐ‹) ์ด๋ผ๊ณ  ํ‘œํ˜„ํ•œ๋‹ค.

     

    ๋‹ค๋งŒ ์ปค๋ฐ‹์˜ ๊ฒฝ์šฐ ์ €์žฅํ•  ๋•Œ๋งˆ๋‹ค ๋ณ€๊ฒฝ ์ด์ „์˜ ์ƒํƒœ๊ฐ€ ์œ ์‹ค๋˜์ง€ ์•Š๊ณ  ์œ ์ง€๋œ๋‹ค๋Š” ์ ์ด๋‹ค.

    commit์€ ๋ˆ„๊ฐ€, ์–ธ์ œ, ์–ด๋Š ํŒŒ์ผ์˜ ์–ด๋Š ๋ถ€๋ถ„์„ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€ ๋ชจ๋‘ ๋ฐ˜์˜๋˜๊ณ  commit์„ ์ง„ํ–‰ํ• ๋•Œ๋Š” ์–ด๋–ค ์ž‘์—…์„ ํ•œ ๊ฒƒ์ธ์ง€ commit ๋ฉ”์„ธ์ง€๋ฅผ ๋ฐ˜๋“œ์‹œ ์ž‘์„ฑํ•ด์ค˜์•ผ ํ•œ๋‹ค.

     

     

     

     


     

     

     

     

    ์ •๋ฆฌํ•˜๊ธฐ

     

     

    • ๋ฒ„์ „๊ด€๋ฆฌ๋ฅผ ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ํ”„๋กœ์ ํŠธ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ์ •๋ณด๋ฅผ ์•Œ๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
    • Git ์€ commit ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฒ„์ „์ด ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
    • ์ปดํ“จํ„ฐ์— ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ Git ์ด ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ Git ์œผ๋กœ ๊ด€๋ฆฌํ• ๊บผ์•ผ! ํ•˜๊ณ  ์„ค์ •ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์„ **git ์ดˆ๊ธฐํ™”(git initialize)**ํ•œ๋‹ค๊ณ  ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.
    • ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์˜ ์ƒํƒœ๋ฅผ ์ฐฐ์นต ๐Ÿ“ธ ์ €์žฅํ•˜๋Š” ๊ฒƒ์„ commit ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
    • commit ์—๋Š” ์•„๋ž˜๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
      • ๋ˆ„๊ฐ€(author), ์–ธ์ œ commit ํ–ˆ๋Š”์ง€์˜ ์ •๋ณด์™€ ํ”„๋กœ์ ํŠธ ๋ณ€๊ฒฝ ๋‚ด์šฉ
      • ์ž‘์—…๋‚ด์—ญ์ด ์–ด๋–ค ๊ฒƒ์ธ์ง€ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ์ ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ 'commit ๋ฉ”์‹œ์ง€'๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
    • commit ์— ๋ฐ˜์˜ํ• ์ง€ ์•ˆํ• ์ง€๋Š” ํŒŒ์ผ ๋‹จ์œ„๋กœ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. commit ์— ๋ฐ˜์˜ํ•  ํŒŒ์ผ์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์„ add (ํ˜น์€ staging, ์Šคํ…Œ์ด์ง•) ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
    • commit ํ•œ ๊ธฐ๋ก์€ history ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ง€๊ธˆ๊นŒ์ง€ ์šฐ๋ฆฌ๊ฐ€ ํ•œ ์ž‘์—…์€ 'git ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ(initialize) - add(staging) - commit' ์ž…๋‹ˆ๋‹ค.
      • git ์ดˆ๊ธฐํ™”๋Š” ์ฒ˜์Œ์— ๋‹จ ํ•œ๋ฒˆ๋งŒ ํ•ด ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ž‘์—… ๋‚ด์—ญ์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” add - commit ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

     

    728x90

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

    [Git] ์›๊ฒฉ repo์™€ .gitignore  (0) 2023.06.07
Designed by Tistory.