ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Git ๊นƒ ๊ธฐ์ดˆ (Mac ๋งฅ)
    ๐Ÿ›  develop/Git 2022. 4. 15. 22:37

     

     

     

     

    git ๊ธฐ์ดˆ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

     

     

    0. git ์ค€๋น„ํ•˜๊ธฐ


    [1] Homebrew๋ฅผ ์ด์šฉํ•˜์—ฌ git ๋‹ค์šด๋กœ๋“œ

     

    git์„ ๋‹ค์šด๋กœ๋“œ ํ•ด์ค๋‹ˆ๋‹ค. Homebrew๋ฅผ ์ด์šฉํ•œ git ๋‹ค์šด๋กœ๋“œ๋Š” ์•„๋ž˜ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

    https://m-ur-phy.tistory.com/10

     

    Homebrew git ๊นƒ ์„ค์น˜

    Git ๊นƒ์ด๋ž€? Git์€ ์ปดํ“จํ„ฐ ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์—ฌ๋Ÿฌ ๋ช…์˜ ์‚ฌ์šฉ์ž๋“ค์ด ์žˆ์„ ๊ฒฝ์šฐ ์„œ๋กœ ํ•ด๋‹น ํŒŒ์ผ๋“ค์˜ ์ž‘์—…์„ ์กฐ์œจํ•ด์•ผํ•˜๋Š” ์ผ์ด ์ƒ๊น๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์„ ์œ„ํ•œ ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šค

    m-ur-phy.tistory.com

     

     

    [2] iTerm2 ๋‹ค์šด๋กœ๋“œ (์„ ํƒ์‚ฌํ•ญ)

     

    ๋ณธ ๊ธ€์€ iTerm2๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

    iTerm2๋Š” ๊ธฐ๋ณธ ํ„ฐ๋ฏธ๋„๋ณด๋‹ค ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ„ฐ๋ฏธ๋„์ž…๋‹ˆ๋‹ค.

     

    iTerm2 ํ™ˆํŽ˜์ด์ง€(https://iterm2.com/)๋กœ ๋“ค์–ด๊ฐ€์„œ ๋‹ค์šด๋กœ๋“œ๋ฅผ ์ง„ํ–‰ํ•ด ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

     

    iTerm2 - macOS Terminal Replacement

    iTerm2 by George Nachman. Website by Matthew Freeman, George Nachman, and James A. Rosen. Website updated and optimized by HexBrain

    iterm2.com

     

    + iTerm2 ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๋ฐฉ๋ฒ•์€ Reference 1๋ฒˆ์— ๋งํฌ๋ฅผ ๋‹ฌ์•„๋‘์—ˆ์Šต๋‹ˆ๋‹ค.

    (์žฌ๋ฐŒ๊ณ , ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค! ๋‹ค๋“ค ์ง„ํ–‰ํ•ด๋ณด์„ธ์š”๐Ÿ› )

     

     

     

    1. git ์ดˆ๊ธฐ ์„ค์ •


    [1] git ์‚ฌ์šฉ์ž ์ด๋ฆ„ ์„ค์ •

    // ์‚ฌ์šฉ์ž ์ด๋ฆ„ ์„ค์ •ํ•˜๊ธฐ
    git config --global user.name "์‚ฌ์šฉ์ž ์ด๋ฆ„"
    
    // ์‚ฌ์šฉ์ž ์ด๋ฆ„ ํ™•์ธํ•˜๊ธฐ
    git config user.name

    git ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์„ค์ •ํ•ด ์ค๋‹ˆ๋‹ค. ์ด๋ฆ„์„ ์„ค์ •ํ•ด ์ฃผ๋Š” ์ž‘์—…์€ ๋ชจ๋“  ์ผ์˜ ์‹œ์ž‘์ ์ž…๋‹ˆ๋‹ค.

     

     

    [2] git ์‚ฌ์šฉ์ž ์ด๋ฉ”์ผ ์„ค์ •

    // ์‚ฌ์šฉ์ž ์ด๋ฉ”์ผ ์„ค์ •
    git config --global user.email "์‚ฌ์šฉ์ž ์ด๋ฉ”์ผ"
    
    // ์‚ฌ์šฉ์ž ์ด๋ฉ”์ผ ํ™•์ธ
    git config user.email

    ๋‹ค์Œ์€ ์ด๋ฉ”์ผ์„ ์„ค์ •ํ•ด ์ค๋‹ˆ๋‹ค.

     

     

    [3] ์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž์—ด ์„ค์ •

    // git ์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž์—ด ์„ค์ •
    git config --global core.autocrlf input

    git์„ ์‚ฌ์šฉํ•  ๋•Œ, ์œˆ๋„์šฐ์™€ ๋งฅ ์šด์˜์ฒด์ œ๋Š” ์„œ๋กœ ์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž์—ด์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

    ์ค„๋ฐ”๊ฟˆ ๋ฌธ์ž์—ด์ด ๋‹ฌ๋ผ์„œ ๋‚˜ํƒ€๋‚˜๋Š” ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด autocrlf input์„ ์„ค์ •ํ•ด ์ค๋‹ˆ๋‹ค. 

     

    + ์ฐธ๊ณ ๋กœ ์œˆ๋„์šฐ ์œ ์ €๋Š” input ๋Œ€์‹  true๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

     

     

     

    2. git ์‹œ์ž‘์„ ์œ„ํ•œ ์ดˆ๊ธฐํ™” / ์‚ญ์ œ ํ•˜๊ธฐ


    [1] git ์ดˆ๊ธฐํ™” ํ•˜๊ธฐ

    // git ์ดˆ๊ธฐํ™” ํ•˜๊ธฐ
    git init

    git ์ดˆ๊ธฐํ™”๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…์„ ์›ํ•˜๋Š” ํด๋”์— git init ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ดˆ๊ธฐํ™”๋ฅผ ์ง„ํ–‰์‹œ์ผœ์ค๋‹ˆ๋‹ค.

     

     

    [2] ์ƒ์„ฑ๋œ git ํ™•์ธํ•˜๊ธฐ

    git init์„ ์‹คํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด .git ์ด๋ผ๋Š” ํด๋”๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํด๋”๋‚˜ ํŒŒ์ผ๋“ฑ์„ ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๋• ls ๋ผ๋Š” ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    // ํŒŒ์ผ ํ™•์ธํ•˜๊ธฐ
    ls
    
    // ์ˆจ๊ธด ํŒŒ์ผ๊นŒ์ง€ ํ™•์ธํ•˜๊ธฐ
    ls -al

    .git์€ ์ˆจ๊ฒจ์ง„ ํด๋”์ด๊ธฐ ๋•Œ๋ฌธ์— ls -al ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋˜ํ•œ git init ์‹คํ–‰ ํ›„ ๊ธฐ๋ณธ์ ์œผ๋กœ 'marster' ๋ธŒ๋žœ์น˜๊ฐ€ ์ƒ์„ฑ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 'marster' ๋ธŒ๋žœ์น˜๋Š” git์„ ์‹œ์ž‘ํ•  ๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์ •๋˜๋Š” ์ž‘์—…์žฅ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

     

     

    [3] git ์‚ญ์ œ ํ•˜๊ธฐ

    // ์‚ญ์ œ ๋ช…๋ น์–ด
    rm ์‚ญ์ œ ๋Œ€์ƒ
    
    // git ํ•œ๋ฒˆ์— ์‚ญ์ œํ•˜๊ธฐ
    rm -rf .git

    git ์‚ญ์ œ๋Š” rm ์ด๋ผ๋Š” ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. rm -rf ๋ฅผ ์ด์šฉํ•˜๋ฉด ์‚ญ์ œ ํ™•์ธ๊ณผ์ •์„ ๊ฑฐ์น  ํ•„์š” ์—†์ด ํด๋” ์ „์ฒด๋ฅผ ํ•œ๋ฒˆ์— ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

     

     

     

    3. git workflow


    [1] git ๊ตฌ์„ฑ

    git ์€ ์ด ์„ธ ๊ฐ€์ง€ ์ž‘์—… ํ™˜๊ฒฝ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 

     

    1. working directory

    • ํ”„๋กœ์ ํŠธ์˜ ํŒŒ์ผ์„ ์ž‘์—…ํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๊ณณ

    2. staging area

    • ๋ฒ„์ „ ํžˆ์Šคํ† ๋ฆฌ์— ์ €์žฅํ•  ์ค€๋น„๊ฐ€ ๋˜์–ด์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ์˜ฌ๋ ค๋‘๋Š” ๊ณณ

    3. .git directory

    • ๋ฒ„์ „์— ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” git directory / repository

     

    [2] git ํ๋ฆ„

    ์ƒํ™ฉ๋งˆ๋‹ค ๋” ์„ธ๋ถ„ํ™”๋œ ๋ช…๋ น์–ด๋“ค์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ธ€ ๋ชฉ์ ์— ๋งž๊ฒŒ ๊ธฐ์ดˆ ํ๋ฆ„๋งŒ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

     

     

    ์šฐ์„  ๊ฐ„๋‹จํ•˜๊ฒŒ ์š”์•ฝ ์„ค๋ช…์„ ๋“œ๋ฆฐ ํ›„ ์‹ค์ œ ์‘์šฉ์œผ๋กœ ๋„˜์–ด๊ฐ€๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

     

    working directory ์•ˆ์—๋Š” ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์–ด๋Š์ •๋„ ์™„์„ฑ์ด ๋˜์—ˆ๋‹ค ์‹ถ์€ ํ”„๋กœ์ ํŠธ๋ฅผ git add๋ฅผ ์ด์šฉํ•ด์„œ staging area๋กœ ๋„˜๊ฒจ์ค๋‹ˆ๋‹ค.

    ์ •๋ง ์ตœ์ข…์ ์œผ๋กœ ์™„์„ฑ์ด ๋˜์—ˆ๋‹ค๋ฉด git push๋ฅผ ํ†ตํ•ด git directory์— ์˜ฌ๋ ค์ค๋‹ˆ๋‹ค.

    git directory ์— ์žˆ๋Š” ํŒŒ์ผ์€ ์–ธ์ œ๋“ ์ง€ checkout์„ ํ†ตํ•ด working directory (์ž‘์—…์žฅ) ์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

     

    ์ด๋ ‡๊ฒŒ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋‹ค์‹œ ๊ฐ€์ ธ์™€ ์ž‘์—…ํ•˜๊ณ  ๋‹ค์‹œ ์˜ฌ๋ ค์ฃผ๋ฉด์„œ ํšจ์œจ์ ์œผ๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ LOCAL (๋‚ด ์ปดํ“จํ„ฐ) ์— ํ•ด๋‹น๋˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.

     

    ์—ฌ๊ธฐ์„œ ์งˆ๋ฌธ์„ ํ•˜๋‚˜ ๋“œ๋ฆฌ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

     

    ๋ˆ„๊ฐ€ ๋‚ด ๋งฅ๋ถ์„ ์—์–ดํ”„๋ผ์ด๊ธฐ์— ๋„ฃ๊ณ  ๋Œ๋ฆฐ๋‹ค๋ฉด?

     -> ๋‚ด ์ปดํ“จํ„ฐ์— ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋“ค์€ ๋ฐฅ๋ฐ˜์ฐฌ์ด ๋˜์–ด๋ฒ„๋ฆฌ๊ฒ ์ฃ .

     

    ์ด๋Ÿฌํ•œ ์ผ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด REMOTE (์„œ๋ฒ„) ์— ๋”ฐ๋กœ ์ €์žฅํ•ด์ฃผ๋Š” ์ผ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

     

    git directory ์— ์žˆ๋Š” LOCAL(๋‚ด ์ปดํ“จํ„ฐ) ์ตœ์ข… ํŒŒ์ผ๋“ค์„ git push ํ•ด์ค๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ REMOTE(์„œ๋ฒ„)์— ์ €์žฅํ•ด ์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    REMOTE(์„œ๋ฒ„) ์— ์žˆ๋Š” ํŒŒ์ผ๋„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. git pull ์„ ์ด์šฉํ•ด LOCAL(๋‚ด ์ปดํ“จํ„ฐ) ๋กœ ์˜ฎ๊ฒจ์ค๋‹ˆ๋‹ค. ๋.

     

    ์งง๊ฒŒ ์š”์•ฝํ•ด๋ณธ git & git hub ํ๋ฆ„ ์„ค๋ช…์ด์—ˆ์Šต๋‹ˆ๋‹ค.

     

     

     

    4.  3๋ฒˆ ์‹ค์ „ํŽธ - 1 (git add)


    [1] ํŒŒ์ผ ์ƒ์„ฑํ•ด๋ณด๊ธฐ

    // ํ…์ŠคํŠธ ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ธฐ
    echo ํ…์ŠคํŠธ > ํŒŒ์ผ์ด๋ฆ„.txt
    
    // git ์ƒํƒœ ํ™•์ธ
    git status

    ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ , git status ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

     

    ์ถ”์ (track) ์ด๋ผ๋Š” ์ƒ์†Œํ•œ ๋‹จ์–ด๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. track ์€ git ์ด ํŒŒ์ผ์„ ์ถ”์ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

    untracked ์™€ tracked ๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ ์ดˆ๊ธฐํ™”๋ฅผ ํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ ์ƒ์„ฑํ•œ ํŒŒ์ผ์˜ ๊ฒฝ์šฐ untracked

    ์›๋ž˜ ์žˆ๋˜ ํŒŒ์ผ์ด๋‚˜ add ๋ฅผ ์ง„ํ–‰ํ•ด ์ค€ ๊ฒฝ์šฐ๋Š” tracked ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

     

    ํ˜„์žฌ๋Š” ์ƒˆ๋กœ ์ƒ์„ฑํ•œ ํŒŒ์ผ์ด๊ธฐ ๋•Œ๋ฌธ์— untracked ์ƒํƒœ์ž„์ด ํ™•์ธ๋ฉ๋‹ˆ๋‹ค.

     

     

    [2] git add

    // staging area ์— ์˜ฌ๋ฆฌ๊ธฐ
    git add ํŒŒ์ผ์ด๋ฆ„
    
    // ํ•ด๋‹น ํ™•์žฅ์ž ์ „์ฒด ์˜ฌ๋ฆฌ๊ธฐ
    git add *.ํ™•์žฅ์ž

    git add a.txt ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ staging area ์— ์˜ฌ๋ ค์ฃผ์—ˆ๋”๋‹ˆ tracked ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ๋œ ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋‚˜๋จธ์ง€ b.txt ์™€ c.txt ๋Š” ์—ฌ์ „ํžˆ untracked ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

     

    ๋‚˜๋จธ์ง€๋„ ๋ชจ๋‘ ์‹ค์Šต์„ ์œ„ํ•ด staging area ๋กœ ์˜ฌ๋ ค์ค๋‹ˆ๋‹ค.

    ๋‹ค์‹œ status ๋ฅผ ํ™•์ธํ•˜๋ฉด ์ „๋ถ€ tracked ์ƒํƒœ์ธ ๊ฒƒ์œผ๋กœ ํ™•์ธ๋ฉ๋‹ˆ๋‹ค.

     

     

    [3] modified

    // ํ…์ŠคํŠธ ํŒŒ์ผ์— ๋‚ด์šฉ ์ถ”๊ฐ€ํ•˜๊ธฐ
    echo ์ถ”๊ฐ€๋‚ด์šฉ >> ์ถ”๊ฐ€ํ• ํŒŒ์ผ

    ๋งŒ์•ฝ staging ์˜ ํŒŒ์ผ์ด ๋ณ€๊ฒฝ ๋œ๋‹ค๋ฉด? staging area ์— commit ํ•  ์ค€๋น„๊ฐ€ ๋œ ์„ธ ๊ฐ€์ง€ ํŒŒ์ผ์€ ์กด์žฌํ•˜์ง€๋งŒ

    working directory ๋‚ด๋ถ€ modified(์ˆ˜์ •) ์ƒํƒœ ํŒŒ์ผ์ด ํ•œ๊ฐ€์ง€ ์ƒ๊น๋‹ˆ๋‹ค.

     

    ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋‹ค์‹œ git add ๋ฅผ ์ด์šฉํ•ด ์˜ฌ๋ ค์ค๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ modified ์ƒํƒœ ์—†์ด staging area ์— ์ „๋ถ€ ์ž˜ ์˜ฌ๋ผ๊ฐ„ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

     

     

    [4] staging area ์—์„œ working directory ๋กœ

    // staging area ์— ์žˆ๋Š” ํŒŒ์ผ working directory ๋กœ ๋‚ด๋ฆฌ๊ธฐ
    git rm --cached ํŒŒ์ผ์ด๋ฆ„

    rm --cached ๋ฅผ ์ด์šฉํ•˜์—ฌ working directory ๋กœ ๋‚ด๋ ค ์ค๋‹ˆ๋‹ค. ์ด ์ƒํ™ฉ์—์„œ ํŒŒ์ผ๋“ค์€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ untracked ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

     

     

     

    5.  3๋ฒˆ ์‹ค์ „ํŽธ - 2 (git status)


    // status ๊ฐ„๋‹จํ•˜๊ฒŒ ํ™•์ธํ•˜๊ธฐ
    git status -s

    ์‹ค์Šต์„ ์œ„ํ•ด a ํŒŒ์ผ๊ณผ b ํŒŒ์ผ๋งŒ staging area ์— ์˜ฌ๋ ค๋‘์—ˆ์Šต๋‹ˆ๋‹ค.

    git status -s ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด status ๋ฅผ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

     

    a ์™€ b ํŒŒ์ผ์€ ๋‘˜ ๋‹ค staging area ์— ์ž˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ํ™•์ธ๋˜๊ณ , c ํŒŒ์ผ์€ untracked ์ƒํƒœ์ธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

     

    ์ด ์ƒํƒœ์—์„œ a ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

    a.txt ํŒŒ์ผ์— modified ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•˜๋Š” M ์ด ๋‚˜ํƒ€๋‚œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

     

    ์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์ง ๊นƒ์ด ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ์ดˆ๋ฐ˜์—๋Š” status ๋กœ ์ „์ฒด๋ฅผ ํ™•์ธํ•˜๊ณ , ์ต์ˆ™ํ•ด์ง„ ๋‹ค์Œ์— -s ๋ฅผ ์จ์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

     

     

     

    6.  3๋ฒˆ ์‹ค์ „ํŽธ - 3 (git diff)


    // ํŒŒ์ผ ์ˆ˜์ •์‚ฌํ•ญ ํ™•์ธํ•˜๊ธฐ
    git diff

     

    git diff ๋ฅผ ์ด์šฉํ•˜๋ฉด ์–ด๋–ค ํŒŒ์ผ์ด ์–ด๋–ป๊ฒŒ ์ˆ˜์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

    git diff ํ™”๋ฉด์„ ๋ณด์‹œ๋ฉด, + add! ๋กœ add ๊ฐ€ ์ถ”๊ฐ€๋˜์–ด์žˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

     

     

     

    7.  3๋ฒˆ ์‹ค์ „ํŽธ - 4 (git commit)


    // ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์ปค๋ฐ‹ํ•˜๊ธฐ
    git commit -m "์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€"

    ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์ปค๋ฐ‹ํ•˜๋ฉด ๋! ์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์ปค๋ฐ‹์ด ์™„๋ฃŒ๋จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

     

     

     

    8.  git commit ์€ ์–ธ์ œ? ์–ด๋–ป๊ฒŒ?


    ํฌ์ง€๋„ ์•Š๊ณ  ๋„ˆ๋ฌด ์ž‘์ง€๋„ ์•Š์€ ๋‹จ์œ„์ด๋˜, ์˜๋ฏธ์žˆ๋Š” ์ด๋ฆ„์œผ๋กœ commit ์„ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

    ๋˜ํ•œ ์ด๋ฆ„์— ํ•ด๋‹นํ•˜๋Š” ์ปค๋ฐ‹ ๋‚ด์šฉ๋งŒ์„ ๋‹ด๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

     

     

     

    + git 


    [1] status -> st ๋‹จ์ถ•ํ‚ค ๋งŒ๋“ค๊ธฐ

    git config --global alias.๋‹จ์ถ•ํ‚ค์ด๋ฆ„ ๋‹จ์ถ•ํ• ๋ช…๋ น์–ด

    status ๋Š” git ์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋ช…๋ น์–ด ์ž…๋‹ˆ๋‹ค. status ๋ฅผ st ๋กœ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” alias ๋ฅผ ์ด์šฉํ•˜๋ฉด๋ฉ๋‹ˆ๋‹ค.

     

     

    [2] git ๋ช…๋ น์–ด & ์†์„ฑ๊ฐ’ ์ •๋ณด ํ™•์ธํ•˜๊ธฐ

    git config --h

    git ์˜ ๋‹ค์–‘ํ•œ ๋ช…๋ น์–ด์™€ ์†์„ฑ๊ฐ’์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

     

     

    ๋งˆ๋ฌด๋ฆฌ

    ์ฒ˜์Œ์œผ๋กœ ๊ธด ๋Ÿฐํƒ€์ž„์„ ๊ฐ€์ง€๋ฉฐ ๋ธ”๋กœ๊ทธ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

    ๊ธด ๊ธ€์„ ์ž‘์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์ƒ๊ฐ๋ณด๋‹ค ์‰ฝ์ง€ ์•Š์€ ์ž‘์—…์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋…์„ฑ, ์ง€๋ฃจํ•จ ๋“ฑ์„ ์‹ ๊ฒฝ์“ฐ๋ฉด์„œ ์ž‘์„ฑํ•˜๋Š๋ผ ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์‹ ๊ฒฝ์“ด๋‹ค๊ณ  ๋ถ€์กฑํ•จ์ด ์™„๋ฒฝํ•˜๊ฒŒ ์ฑ„์›Œ์งˆ ์ˆœ ์—†๋‹ค๋Š” ๊ฒƒ๋„ ์•Œ๊ณ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์™„์„ฑํ•˜๊ณ  ๋‚˜์„œ๋„ ์•„์‰ฌ์›€์ด ๊ฐ€๋“ํ•ฉ๋‹ˆ๋‹ค.

     

    ํ•˜์ง€๋งŒ, ๊ธด ๊ธ€์„ ์ž‘์„ฑํ•ด๋ณด๋ฉด์„œ ๊ธ€ ์ž‘์„ฑ์— ๋Œ€ํ•œ ๊ดœ์ฐฎ์€ ์•„์ด๋””์–ด๋“ค์ด ๋งŽ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. (๋™์ ์ธ ์•„์ด๋””์–ด์™€ ์ •์ ์ธ ๊ทœ์น™.. ๊ทธ ์–ด๋”˜๊ฐ€์˜ ๊ธ€)

     

    ์•ž์œผ๋กœ ๋” ๋ฐœ์ „ํ•œ! ๋ฐœ์ „ํ• ! ๋ชจ์Šต ๋ณด์—ฌ๋“œ๋ฆฌ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!

     

     

     

    Reference

    1. https://ooeunz.tistory.com/21

     

    [๊ฐœ๋ฐœ ํ™˜๊ฒฝ] iTerm2๋กœ ํ„ฐ๋ฏธ๋„ ์ปค์Šคํ…€ํ•˜๊ธฐ

    ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„  Mac์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ„ฐ๋ฏธ๋„์„ ๊พธ๋ฉฐ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์˜ค๋ž˜์ „์— ์ž‘์„ฑํ•œ ๊ธ€์ด์ง€๋งŒ, ๊พธ์ค€ํ•˜๊ฒŒ ์กฐํšŒ์ˆ˜๊ฐ€ ์žˆ๋Š” ํฌ์ŠคํŒ…์ด๋ผ ์ข€ ๋” ์ƒ์„ธํ•œ ๋‚ด์šฉ๊ณผ ์ตœ๊ทผ์— ์ถ”๊ฐ€ํ•œ ์ปค์Šคํ…€ ํ•ญ๋ชฉ์„ ์ถ”

    ooeunz.tistory.com

     

    2. https://www.youtube.com/watch?v=Z9dvM7qgN9s 

     

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

    Homebrew git ๊นƒ ์„ค์น˜  (0) 2022.04.12

    ๋Œ“๊ธ€