From 8040195c695887b4d1e7bc01d0d332d7cfac40f7 Mon Sep 17 00:00:00 2001 From: choibk Date: Mon, 2 Feb 2026 12:30:04 +0000 Subject: [PATCH] =?UTF-8?q?Add=20git=20=EC=82=AC=EC=9A=A9=EB=B2=95?= =?UTF-8?q?=EC=97=90=20=EB=8C=80=ED=95=B4=20=EC=9E=90=EC=A3=BC=20=EC=82=AC?= =?UTF-8?q?=EC=9A=A9=ED=95=98=EB=8A=94=20=EB=AA=85=EB=A0=B9=EC=96=B4=20?= =?UTF-8?q?=EC=9C=84=EC=A3=BC=EB=A1=9C=20=EC=83=81=EC=84=B8=EC=98=B5?= =?UTF-8?q?=EC=85=98=EA=B9=8C=EC=A7=80=20=ED=8F=AC=ED=95=A8=20=EC=84=A4?= =?UTF-8?q?=EB=AA=85.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ผ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด ์œ„์ฃผ๋กœ ์ƒ์„ธ์˜ต์…˜๊นŒ์ง€ ํฌํ•จ ์„ค๋ช….md | 113 ++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 git ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด ์œ„์ฃผ๋กœ ์ƒ์„ธ์˜ต์…˜๊นŒ์ง€ ํฌํ•จ ์„ค๋ช….md diff --git a/git ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด ์œ„์ฃผ๋กœ ์ƒ์„ธ์˜ต์…˜๊นŒ์ง€ ํฌํ•จ ์„ค๋ช….md b/git ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด ์œ„์ฃผ๋กœ ์ƒ์„ธ์˜ต์…˜๊นŒ์ง€ ํฌํ•จ ์„ค๋ช….md new file mode 100644 index 0000000..615898f --- /dev/null +++ b/git ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด ์œ„์ฃผ๋กœ ์ƒ์„ธ์˜ต์…˜๊นŒ์ง€ ํฌํ•จ ์„ค๋ช….md @@ -0,0 +1,113 @@ +Git์„ ์‹ค์ œ ์—…๋ฌด๋‚˜ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐ€์žฅ ์†์— ์ต์–ด์•ผ ํ•˜๋Š” ํ•ต์‹ฌ ๋ช…๋ น์–ด๋“ค์„ ์ƒ์„ธ ์˜ต์…˜๊ณผ ํ•จ๊ป˜ ์ •๋ฆฌํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค. + +--- + +## 1. ์ €์žฅ์†Œ ์„ค์ • ๋ฐ ์‹œ์ž‘ + +ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ์„œ๋ฒ„์—์„œ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. + +* **`git init`**: ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ Git ์ €์žฅ์†Œ๋กœ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. +* **`git clone `**: ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค. +* **`-b `**: ํŠน์ • ๋ธŒ๋žœ์น˜๋งŒ ์ง€์ •ํ•ด์„œ ๋ณต์ œํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. +* **`--depth 1`**: ์ „์ฒด ํžˆ์Šคํ† ๋ฆฌ๊ฐ€ ์•„๋‹Œ ์ตœ์‹  ์ปค๋ฐ‹ ํ•˜๋‚˜๋งŒ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. (์šฉ๋Ÿ‰์ด ํฐ ํ”„๋กœ์ ํŠธ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ฐ›์„ ๋•Œ ์œ ์šฉ) + + + +--- + +## 2. ์ž‘์—… ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๊ด€๋ฆฌ (Stage & Commit) + +ํŒŒ์ผ์˜ ๋ณ€ํ™”๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค. + +* **`git add `**: ํŒŒ์ผ์„ ์Šคํ…Œ์ด์ง• ์˜์—ญ(Index)์— ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค. +* **`git add .`**: ์ˆ˜์ •๋œ ๋ชจ๋“  ํŒŒ์ผ์„ ํ•œ๊บผ๋ฒˆ์— ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค. +* **`git add -p`**: ํŒŒ์ผ ๋‚ด์˜ ์ˆ˜์ • ์‚ฌํ•ญ์„ **๋ถ€๋ถ„์ ์œผ๋กœ(Hunk ๋‹จ์œ„)** ์„ ํƒํ•ด์„œ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๊ฐ•๋ ฅ ์ถ”์ฒœ!) + + +* **`git commit`**: ๋ฒ„์ „์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. +* **`-m "message"`**: ์—๋””ํ„ฐ๋ฅผ ์—ด์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. +* **`--amend`**: **๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹์„ ์ˆ˜์ •**ํ•ฉ๋‹ˆ๋‹ค. (๋ฉ”์‹œ์ง€ ์˜คํƒ€๋‚˜ ๋น ๋œจ๋ฆฐ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•  ๋•Œ ์‚ฌ์šฉ) + + + +--- + +## 3. ์ƒํƒœ ํ™•์ธ ๋ฐ ์ด๋ ฅ ์กฐํšŒ + +ํ˜„์žฌ ์ƒํ™ฉ์ด ์–ด๋–ค์ง€, ๊ณผ๊ฑฐ์— ๋ฌด์Šจ ์ผ์ด ์žˆ์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. + +* **`git status`**: ํ˜„์žฌ ์ž‘์—… ํŠธ๋ฆฌ์™€ ์Šคํ…Œ์ด์ง• ์˜์—ญ์˜ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. +* **`git log`**: ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. +* **`--oneline`**: ์ปค๋ฐ‹ ํ•œ ์ค„๋กœ ์š”์•ฝํ•ด์„œ ๋ณด๊ธฐ. +* **`--graph --all`**: ๋ธŒ๋žœ์น˜ ํ๋ฆ„์„ ์‹œ๊ฐ์ ์ธ ๊ทธ๋ž˜ํ”„๋กœ ๋ณด๊ธฐ. +* **`-p`**: ๊ฐ ์ปค๋ฐ‹์˜ ์‹ค์ œ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ(diff)๊นŒ์ง€ ํฌํ•จํ•ด์„œ ๋ณด๊ธฐ. + + +* **`git diff`**: ์ˆ˜์ • ์‚ฌํ•ญ ๋น„๊ต. +* **`git diff --staged`**: `add`๋œ ํŒŒ์ผ๊ณผ ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹์˜ ์ฐจ์ด์ ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. + + + +--- + +## 4. ๋ธŒ๋žœ์น˜์™€ ๋ณ‘ํ•ฉ (Branch & Merge) + +๋…๋ฆฝ์ ์ธ ์ž‘์—… ๊ณต๊ฐ„์„ ๋งŒ๋“ค๊ณ  ํ•ฉ์นฉ๋‹ˆ๋‹ค. + +* **`git branch`**: ๋ธŒ๋žœ์น˜ ๋ชฉ๋ก ๋ณด๊ธฐ. +* **`git branch `**: ์ƒˆ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ. +* **`-d `**: ์‚ฌ์šฉ์ด ๋๋‚œ ๋ธŒ๋žœ์น˜ ์‚ญ์ œ. + + +* **`git checkout `**: ๋ธŒ๋žœ์น˜ ์ด๋™. (์ตœ์‹  ๋ฒ„์ „์—์„œ๋Š” `git switch` ๊ถŒ์žฅ) +* **`-b `**: ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ๊ณผ ๋™์‹œ์— ์ด๋™ํ•˜๊ธฐ. + + +* **`git merge `**: ํ˜„์žฌ ๋ธŒ๋žœ์น˜์— ๋Œ€์ƒ ๋ธŒ๋žœ์น˜๋ฅผ ํ•ฉ์นฉ๋‹ˆ๋‹ค. +* **`--no-ff`**: Fast-forward ๊ด€๊ณ„๋ผ๋„ ๊ฐ•์ œ๋กœ ๋จธ์ง€ ์ปค๋ฐ‹์„ ๋‚จ๊ฒจ ๊ธฐ๋ก์„ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. + + + +--- + +## 5. ์›๊ฒฉ ์ €์žฅ์†Œ ๋™๊ธฐํ™” (Remote) + +์™ธ๋ถ€ ์„œ๋ฒ„(GitHub, Gitea ๋“ฑ)์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์Šต๋‹ˆ๋‹ค. + +* **`git remote`**: ์›๊ฒฉ ์ €์žฅ์†Œ ์„ค์ •. +* **`add origin `**: ์ฃผ์†Œ๋ฅผ `origin`์ด๋ผ๋Š” ๋ณ„๋ช…์œผ๋กœ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. +* **`-v`**: ํ˜„์žฌ ์—ฐ๊ฒฐ๋œ ์›๊ฒฉ ์ €์žฅ์†Œ ์ฃผ์†Œ ํ™•์ธ. + + +* **`git push`**: ๋กœ์ปฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์„œ๋ฒ„์— ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค. +* **`-u origin `**: ์ฒ˜์Œ ํ‘ธ์‹œํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ดํ›„์—” ๋ธŒ๋žœ์น˜๋ช… ์—†์ด `git push`๋งŒ ์จ๋„ ๋˜๊ฒŒ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. +* **`--force` (์ฃผ์˜!)**: ์„œ๋ฒ„์˜ ๋‚ด์šฉ์„ ๋‚ด ๋กœ์ปฌ ๋‚ด์šฉ์œผ๋กœ ๊ฐ•์ œ๋กœ ๋ฎ์–ด์”๋‹ˆ๋‹ค. (ํ˜‘์—… ์‹œ ์ฃผ์˜) + + +* **`git pull`**: ์„œ๋ฒ„์˜ ๋‚ด์šฉ์„ ๊ฐ€์ ธ์™€์„œ ํ˜„์žฌ ๋ธŒ๋žœ์น˜์— ํ•ฉ์นฉ๋‹ˆ๋‹ค. (`fetch` + `merge`) + +--- + +## 6. ์‹ค์ˆ˜ํ–ˆ์„ ๋•Œ ๋˜๋Œ๋ฆฌ๊ธฐ (Undo) + +์ง€์˜ฅ์—์„œ ์‚ด์•„ ๋Œ์•„์˜ค๋Š” ์œ ์šฉํ•œ ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. + +* **`git reset`**: ํŠน์ • ์‹œ์ ์œผ๋กœ ๋˜๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. +* **`--soft`**: ์ปค๋ฐ‹๋งŒ ์ทจ์†Œํ•˜๊ณ  ์ˆ˜์ •๋œ ํŒŒ์ผ ๋‚ด์šฉ์€ ๊ทธ๋Œ€๋กœ ๋‘ก๋‹ˆ๋‹ค. +* **`--mixed` (๊ธฐ๋ณธ๊ฐ’)**: ์ปค๋ฐ‹๊ณผ `add` ๋ชจ๋‘ ์ทจ์†Œํ•˜์ง€๋งŒ ํŒŒ์ผ ๋‚ด์šฉ์€ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. +* **`--hard`**: ํ•ด๋‹น ์ปค๋ฐ‹ ์ดํ›„์˜ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ **์™„์ „ํžˆ ์‚ญ์ œ**ํ•ฉ๋‹ˆ๋‹ค. + + +* **`git revert `**: ๊ธฐ์กด ์ปค๋ฐ‹์„ ์‚ญ์ œํ•˜๋Š” ๋Œ€์‹ , **๋ฐ˜๋Œ€๋˜๋Š” ์ปค๋ฐ‹์„ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด** ์•ˆ์ „ํ•˜๊ฒŒ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. (ํ˜‘์—… ์ค‘์ธ ์„œ๋ฒ„์— ์ด๋ฏธ ์˜ฌ๋ผ๊ฐ„ ์ปค๋ฐ‹์„ ์ทจ์†Œํ•  ๋•Œ ํ•„์ˆ˜) +* **`git stash`**: ํ•˜๋˜ ์ž‘์—…์„ ์ž ์‹œ ์ž„์‹œ ๋ณด๊ด€ํ•จ์— ์น˜์›Œ๋‘ก๋‹ˆ๋‹ค. (๋ธŒ๋žœ์น˜๋ฅผ ๊ธ‰ํ•˜๊ฒŒ ๋ฐ”๊ฟ”์•ผ ํ•  ๋•Œ ์œ ์šฉ) +* **`pop`**: ๋งˆ์ง€๋ง‰์— ์ €์žฅํ•œ ์ž‘์—…์„ ๋‹ค์‹œ ๊บผ๋‚ด์˜ต๋‹ˆ๋‹ค. + + + +--- + +### ๐Ÿ’ก ์‹ค๋ฌด ํŒ: ํ•œ ์ค„ ์š”์•ฝ ๋ฃจํ‹ด + +๋ณดํ†ต ์ถœ๊ทผํ•ด์„œ๋Š” `pull`๋กœ ์‹œ์ž‘ํ•˜๊ณ , ํ‡ด๊ทผ ์ „์—๋Š” `add` -> `commit` -> `push` ์ˆœ์„œ๋กœ ๋งˆ๋ฌด๋ฆฌํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์ด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. + +ํ˜น์‹œ ์ด ์ค‘์—์„œ **`git rebase`** ์ฒ˜๋Ÿผ ์ข€ ๋” ์‹ฌํ™”๋œ ์ปค๋ฐ‹ ์ •๋ฆฌ ๋ฐฉ๋ฒ•์ด ๊ถ๊ธˆํ•˜์‹ ๊ฐ€์š”? ์•„๋‹ˆ๋ฉด ํŠน์ • ์ƒํ™ฉ(์˜ˆ: ์ž˜๋ชป pushํ•œ ํŒŒ์ผ ์ง€์šฐ๊ธฐ ๋“ฑ)์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์ด ํ•„์š”ํ•˜์‹ ๊ฐ€์š”? \ No newline at end of file