๐Ÿ›  develop/Git

Git ๊นƒ ๊ธฐ์ดˆ (Mac ๋งฅ)

m-ur-phy 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