DevLog

Git cli๋ช…๋ น์–ด ์ •๋ฆฌ ๋ณธ๋ฌธ

๐Ÿง‘๐Ÿป‍๐Ÿ’ป ๊ฐœ๋ฐœ๊ฐœ๋ฐœ/Git

Git cli๋ช…๋ น์–ด ์ •๋ฆฌ

Seungjae Lee 2021. 10. 28. 13:46


๊ธฐ๋ณธ ๋ช…๋ น์–ด

Remote Repository์— ์žˆ๋Š” ํŒŒ์ผ์„ Local Repository๋กœ ๋ณต์‚ฌ

git clone <๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์ฃผ์†Œ>

๋‚ด Local Repository์˜ staging area, untracked files ๋ชฉ๋ก์„ ํ™•์ธ

ex) ๋™๋ฃŒ์™€ ํ˜‘์—…ํ•  ๋•Œ ์ž๋™ ๋ณ‘ํ•ฉ(merge)์‹คํŒจ ์‹œ ์–ด๋–ค ํŒŒ์ผ์ด ์ถฉ๋Œํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธ
git status

commit ๋˜์ง€ ์•Š์€ Local Repository ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ํ๊ธฐ(discard changes)

git restore <ํŒŒ์ผ๋ช…>

๋‚ด Local Repository์˜ untracked file์„ Git์˜ ๊ด€๋ฆฌ ํ•˜์ธ staging area๋กœ ์ถ”๊ฐ€์‹œ์ผœ ํŒŒ์ผ์„ commit ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๋กœ ๋งŒ๋“ค๊ธฐ

git add <ํŒŒ์ผ๋ช…>

Staging area์— ๋ชจ๋“  ํŒŒ์ผ์„ ํ•œ๋ฒˆ์— ์ถ”๊ฐ€

git add .

์ˆ˜์ • ์ž‘์—…์ด ๋๋‚ฌ์„ ๋•Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ €์žฅ, -m ์˜ต์…˜์„ ํ†ตํ•ด ์ปค๋ฐ‹ํ•  ๋‚ด์šฉ์˜ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ž‘์„ฑ

git commit -m '์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€'

Local ์—์„œ commit ํ•œ ๋‚ด์šฉ์„ ์ทจ์†Œํ•  ๋•Œ ๊ฐ€์žฅ ์ตœ์‹ ์˜ commit ์„ ์ทจ์†Œ

git reset HEAD^

Local ์—์„œ ๋ณ€๊ฒฝ, commit ๋œ ์‚ฌํ•ญ์„ Remote Repository์— ์—…๋กœ๋“œ

git push <origin> <branch>

ํ˜„์žฌ๊นŒ์ง€ commit ๋œ ๋‚ด์—ญ๋“ค์„ ํ„ฐ๋ฏธ๋„ ์ฐฝ์—์„œ ํ™•์ธ(q๋กœ ํ„ฐ๋ฏธ๋„ ์ฐฝ์„ ์ข…๋ฃŒ)

git log

๊ธฐ์กด ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ Git Repository๋กœ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด Repository๋ฅผ ์ดˆ๊ธฐํ™”

git init

๋‚˜์˜ Local Repository์— ๋‚˜์˜ Remote Repository ์—ฐ๊ฒฐ

git remote add <origin> <Repository ์ฃผ์†Œ>

๋‚˜์˜ Local Repository์— pair์˜ Remote Repository ์—ฐ๊ฒฐ

git remote add <pair> <Repository ์ฃผ์†Œ>

ํ˜„์žฌ์˜ Local Repository์™€ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  Remote Repository ๋ชฉ๋ก ํ™•์ธ

git remote -v

pair Remote Repository์˜ ํ•ด๋‹น branch ๋‚ด์šฉ์„ Local Repository๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ

git pull <pair> <branch>


๋ธŒ๋žœ์น˜ ๋ช…๋ น์–ด ๋ชจ์Œ

์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ

git branch ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ์ด๋ฆ„

์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ ํ›„ ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋กœ ์ „ํ™˜

git switch -c ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ์ด๋ฆ„
git checkout -b ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ์ด๋ฆ„

๋ธŒ๋žœ์น˜ ๋ชฉ๋ก ํ™•์ธ

git branch

๋ธŒ๋žœ์น˜ ๋ชฉ๋ก๊ณผ ๊ฐ ๋ธŒ๋žœ์น˜์˜ ์ตœ๊ทผ ์ปค๋ฐ‹ ํ™•์ธ

git branch -v

๋ธŒ๋žœ์น˜ ์‚ญ์ œ

git branch -d ์‚ญ์ œํ•  ๋ธŒ๋žœ์น˜ ์ด๋ฆ„
git branch -D ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” ๋ณ‘ํ•ฉํ•˜์ง€ ์•Š์€ ๋ธŒ๋žœ์น˜๋ฅผ ๊ฐ•์ œ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๋ธŒ๋žœ์น˜ ์ „ํ™˜

git switch ๋ธŒ๋žœ์น˜ ์ด๋ฆ„
git checkout ๋ธŒ๋žœ์น˜ ์ด๋ฆ„

๋ธŒ๋žœ์น˜ ๋ณ‘ํ•ฉ

  • master ๋ธŒ๋žœ์น˜๋กœ dev ๋ธŒ๋žœ์น˜๋ฅผ ๋ณ‘ํ•ฉํ•  ๋•Œ (master โ† dev)

1.git checkout master
2.git merge dev

๋กœ๊ทธ์— ๋ชจ๋“  ๋ธŒ๋žœ์น˜๋ฅผ ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„

git log --branches --graph --decorate

์•„์ง commit ํ•˜์ง€ ์•Š์€ ์ž‘์—…์„ ์Šคํƒ์— ์ž„์‹œ๋กœ ์ €์žฅ

git stash


๊ธฐํƒ€ ๋ช…๋ น์–ด

Git ์ €์žฅ์†Œ ์ฃผ์†Œ repository ๋ณ€๊ฒฝํ•˜๊ธฐ

git remote set-url <origin> <์ƒˆ๋กœ์šด Git URL>

Git init์„ ์ทจ์†Œํ•˜๋Š” ๋ช…๋ น์–ด, .git ํด๋”๊ฐ€ ์‚ญ์ œ๋˜๋ฉฐ Git ๋กœ์ปฌ ์ €์žฅ์†Œ ์ง€์ •์„ ํ•ด์ œ

rm -rf .git

Comments