๐Ÿ“Git ๊ด€๋ จ ์ •๋ฆฌ (์ผ๋ฐ˜ ํ˜•์ƒ ๊ด€๋ฆฌํˆด๊ณผ ์ฐจ์ด์ , ์‹œ๋‚˜๋ฆฌ์˜ค ๋ถ„์„, ๊ธฐ๋ณธ ๋ช…๋ น์–ด ํ™•์ธ, conflict ์˜ˆ์ œ ์ƒ์„ฑ/ํ•ด๊ฒฐ/์ •๋ฆฌ, history, ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ, merge request, issue)

์ดํ˜ธ์„ฑยท2021๋…„ 2์›” 10์ผ
0

๐Ÿ“Git ๊ด€๋ จ ์ •๋ฆฌ


๊ณผ์ œ ์ฃผ์ œ

1. ์ผ๋ฐ˜ ํ˜•์ƒ ๊ด€๋ฆฌํˆด๊ณผ ์ฐจ์ด์ 
2. ๊ธฐ๋ณธ ๋ช…๋ น์–ด ํ™•์ธ
3. conflict ์˜ˆ์ œ ์ƒ์„ฑ/ํ•ด๊ฒฐ/์ •๋ฆฌ
4. ํžˆ์Šคํ† ๋ฆฌ ๋ณด๋Š” ๋ฒ•
5. git ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ 3๊ฐ€์ง€
6. merge request ๊ธฐ๋Šฅ ํ™•์ธ
7. issue ๊ธฐ๋Šฅ ํ™•์ธ


1. ์ผ๋ฐ˜ ํ˜•์ƒ ๊ด€๋ฆฌํˆด๊ณผ ์ฐจ์ด์ 

SVN : ์ค‘์•™ ์„œ๋ฒ„์— ์†Œ์Šค์ฝ”๋“œ์™€ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์ €์žฅ
Git : ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ PC์™€ ์ €์žฅ์†Œ์— ๋ถ„์‚ฐํ•ด์„œ ์ €์žฅํ•œ๋‹ค.

Git์€ ๋ถ„์‚ฐํ˜• ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋‹ค.
์ค‘์•™ ์„œ๋ฒ„์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ๋กœ์ปฌ ์ €์žฅ์†Œ์— ์ปค๋ฐ‹์„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,

๋กœ์ปฌ ์ €์žฅ์†Œ๋“ค์„ ์ด์šฉํ•˜์—ฌ ์ค‘์•™ ์ €์žฅ์†Œ์˜ ๋ณต์›๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

์žฅ์ 

SVN๋ณด๋‹ค ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
๋˜ํ•œ, ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ํ•„์š” ์—†์ด, ๊ฐ™์€ ํŒŒ์ผ์„ ์—ฌ๋Ÿฌ ๋ช…์ด ๋™์‹œ์—

์ž‘์—…ํ•˜๋Š” ๋ณ‘๋ ฌ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
๋ธŒ๋žœ์น˜๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœํ•œ ๋’ค,

๋ณธ ํ”„๋กœ๊ทธ๋žจ์— ํ•ฉ์น˜๋Š” ๋ฐฉ์‹(Merge)์œผ๋กœ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.


2-1 Git ๊ธฐ๋ณธ ๋ช…๋ น์–ด

๋ช…๋ น์–ด์˜๋ฏธ
git --versionํ˜„์žฌ git ๋ฒ„์ „ ํ™•์ธ
mkdir /path/newDir
cd /path/newDir
git init
์ƒˆ๋กœ์šด ์ €์žฅ์†Œ ์ดˆ๊ธฐํ™” ํ•˜๊ธฐ
git config --global user.name "hoseong-lee"
git config --global user.email "ghtdjd2@naver.com"
์ „์—ญ ์‚ฌ์šฉ์ž๋ช…/์ด๋ฉ”์ผ ๊ตฌ์„ฑํ•˜๊ธฐ
git config --global --list์ „์—ญ ์„ค์ • ์ •๋ณด ์กฐํšŒ
git config --list์ €์žฅ์†Œ๋ณ„ ์„ค์ • ์ •๋ณด ์กฐํšŒ
git statusํŒŒ์ผ ์ƒํƒœ ํ™•์ธํ•˜๊ธฐ (์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์กฐํšŒ)

2-2 Git ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•

๋ช…๋ น์–ด์˜๋ฏธ
git add ํŒŒ์ผ๋ช…
git commit-m"<๋ฉ”์‹œ์ง€>"
์ƒˆ๋กœ์šด ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์กด์žฌํ•˜๋Š” ํŒŒ์ผ ์Šคํ…Œ์ด์ง•ํ•˜๊ณ  ์ปค๋ฐ‹ํ•˜๊ธฐ
git add-p[<ํŒŒ์ผ> [<ํŒŒ์ผ>[๊ธฐํƒ€ ํŒŒ์ผ๋“ค...]]]ํŒŒ์ผ์˜ ์ผ๋ถ€๋ฅผ ์Šคํ…Œ์ด์ง•ํ•˜๊ธฐ
git add -iadd ๋ช…๋ น์—์„œ Git ๋Œ€ํ™” ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ์ถ”๊ฐ€ํ•˜๊ธฐ
git add-u [<๊ฒฝ๋กœ>[<๊ฒฝ๋กœ>]]์ˆ˜์ •๋˜๊ณ  ์ถ”์ ๋˜๋Š” ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์Šคํ…Œ์ด์ง•ํ•˜๊ธฐ
git commit -m"<๋ฉ”์‹œ์ง€>"-a์ˆ˜์ •๋˜๊ณ  ์ถ”์ ๋˜๋Š” ๋ชจ๋“  ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ปค๋ฐ‹ํ•˜๊ธฐ
git checkout HEAD <ํŒŒ์ผ> [<ํŒŒ์ผ>]์ž‘์—…ํŠธ๋ฆฌ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ ๋Œ๋ ค๋†“๊ธฐ
git reset HEAD <ํŒŒ์ผ> [<ํŒŒ์ผ>]์ปค๋ฐ‹๋˜์ง€ ์•Š๊ณ  ์Šคํ…Œ์ด์ง•๋œ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์žฌ์„ค์ •ํ•˜๊ธฐ
git commig -m "<๋ฉ”์‹œ์ง€>" --amend๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹ ๊ณ ์น˜๊ธฐ
git commit -C HEAD --amend์ด์ „ ์ปค๋ฐ‹์„ ์ˆ˜์ •ํ•˜๊ณ  ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ
git add READMEํŒŒ์ผ ์ƒˆ๋กœ ์ถ”์ ํ•˜๊ธฐ

2-3 Git ๋ธŒ๋žœ์น˜

๋ช…๋ น์–ด์˜๋ฏธ
git branch์ง€์—ญ ๋ธŒ๋žœ์น˜ ๋ชฉ๋ก ๋ณด๊ธฐ
git branch -r์›๊ฒฉ ๋ธŒ๋žœ์น˜ ๋ชฉ๋ก ๋ณด๊ธฐ
git branch -a์ง€์—ญ๊ณผ ์›๊ฒฉ์„ ํฌํ•จํ•œ ๋ชจ๋“  ๋ธŒ๋žœ์น˜ ๋ชฉ๋ก ๋ณด๊ธฐ
git branch <์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜>ํ˜„์žฌ ๋ธŒ๋žœ์น˜์—์„œ ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ์ƒ์„ฑํ•˜๊ธฐ
checkout <๋ธŒ๋žœ์น˜>๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜ ์ฒดํฌ์•„์›ƒํ•˜๊ธฐ
git checkout -b <์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜>ํ˜„์žฌ ๋ธŒ๋žœ์น˜์—์„œ ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ ์ƒ์„ฑํ•˜๊ณ  ์ฒดํฌ์•„์›ƒํ•˜๊ธฐ
git branch <์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜> <๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•  ์œ„์น˜>๋‹ค๋ฅธ ์‹œ์ž‘ ์ง€์ ์—์„œ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑํ•˜๊ธฐ
git branch -f <๊ธฐ์กด ๋ธŒ๋žœ์น˜> [<๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•  ์œ„์น˜>]๊ธฐ์กด์˜ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋กœ ๋ฎ์–ด์“ฐ๊ธฐ
[๋ธŒ๋žœ์น˜๋ฅผ ์˜ฎ๊ธฐ๊ฑฐ๋‚˜ ๋ธŒ๋žœ์น˜๋ช… ์ƒ์„ฑํ•˜๊ธฐ]
git checkout -m <๊ธฐ์กด ๋ธŒ๋žœ์น˜> <์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜><์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜>๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ
git checkout -M <๊ธฐ์กด ๋ธŒ๋žœ์น˜> <์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜><์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜>๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ
git merge <๋ธŒ๋žœ์น˜>๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋ฅผ ํ˜„์žฌ ๋ธŒ๋žœ์น˜๋กœ ํ•ฉ์น˜๊ธฐ
git merge --no-commit <๋ธŒ๋žœ์น˜>์ปค๋ฐ‹ํ•˜์ง€ ์•Š๊ณ  ํ•ฉ์น˜๊ธฐ
git cherry-pick <์ปค๋ฐ‹๋ช…>์„ ํƒํ•˜์—ฌ ํ•ฉ์น˜๊ธฐ
git cherry-pick -n <์ปค๋ฐ‹๋ช…>์ปค๋ฐ‹ํ•˜์ง€ ์•Š๊ณ  ์„ ํƒํ•˜์—ฌ ํ•ฉ์น˜๊ธฐ
git merget --squash <๋ธŒ๋žœ์น˜>๋ธŒ๋žœ์น˜์˜ ์ด๋ ฅ์„ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜์— ํ•ฉ์น˜๊ธฐ
[๋ธŒ๋žœ์น˜ ์‚ญ์ œํ•˜๊ธฐ]
git branch -d <์‚ญ์ œํ•  ๋ธŒ๋žœ์น˜>์‚ญ์ œํ•  ๋ธŒ๋žœ์น˜๊ฐ€ ํ˜„์žฌ ๋ธŒ๋žœ์น˜์— ํ•ฉ์ณ์กŒ์„ ๊ฒฝ์šฐ์—๋งŒ
git branch -D <์‚ญ์ œํ•  ๋ธŒ๋žœ์น˜>์‚ญ์ œํ•  ๋ธŒ๋žœ์น˜๊ฐ€ ํ˜„์žฌ ๋ธŒ๋žœ์น˜์— ํ•ฉ์ณ์ง€์ง€ ์•Š์•˜์–ด๋„



3. conflict ์˜ˆ์ œ ์ƒ์„ฑ/ํ•ด๊ฒฐ/์ •๋ฆฌ

  • conflict(์ถฉ๋Œ)๋ž€ merge๋ฅผ ํ• ๋•Œ ๋‚˜ํƒ€๋‚˜๋Š” ์ถฉ๋Œํ˜„์ƒ.

  • ๊ฐ™์€ ํŒŒ์ผ์˜ ๊ฐ™์€ ๋ถ€๋ถ„์„ ๊ฐ๊ฐ์˜ branch์—์„œ ์ˆ˜์ •ํ•˜๊ณ  mergeํ•˜๊ฒŒ ๋˜๋ฉด ์ถฉ๋Œ์ด ์ผ์–ด๋‚œ๋‹ค.

  • git status ๋ช…๋ น์„ ํ†ตํ•ด์„œ conflict๋œ ํŒŒ์ผ์„ ํ™•์ธํ•˜๊ณ  ํŒŒ์ผ์„ ์—ด์–ด ์ˆ˜์ •ํ•œ๋‹ค.

  • '<<<<<<< HEAD' ๋ถ€ํ„ฐ
    '======='
    ์‚ฌ์ด์˜ ๊ตฌ๊ฐ„์ด ํ˜„์žฌ ์ฒดํฌ์•„์›ƒ๋œ ํŒŒ์ผ์˜ ๋‚ด์šฉ์ด๊ณ 

    (master ๋ธŒ๋žœ์น˜์˜ ์†Œ์Šค์ฝ”๋“œ)

  • '>>>>>>> hoseong1' ์‚ฌ์ด์˜ ๊ตฌ๊ฐ„์ด ๋ณ‘ํ•ฉํ•˜๋ ค๋Š” ๋Œ€์ƒ์ธ hoseong1 ๋ธŒ๋žœ์น˜์˜ ์†Œ์Šค์ฝ”๋“œ์ด๋‹ค.

    ์ด ์ •๋ณด๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๋‘ ๊ฐœ์˜ ์ฝ”๋“œ๋ฅผ ๋ณ‘ํ•ฉํ•œ ํ›„ ํŠน์ˆ˜๊ธฐํ˜ธ๋“ค์„ ์ œ๊ฑฐํ•˜๋ฉด ๋œ๋‹ค.
    ์ž‘์—…์ด ๋๋‚˜๋ฉด ํŒŒ์ผ์„ ์ €์žฅํ•œ๋‹ค.


4. ํžˆ์Šคํ† ๋ฆฌ ๋ณด๋Š” ๋ฒ•

  • git log

  • ํŠน๋ณ„ํ•œ ์•„๊ทœ๋จผํŠธ ์—†์ด git log ๋ช…๋ น ์‹คํ–‰ ์‹œ

    ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์‹œ๊ฐ„์ˆœ์œผ๋กœ ๋ณด์—ฌ์ค€๋‹ค.

  • ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ์ปค๋ฐ‹์ด ๊ฐ€์žฅ ๋จผ์ € ๋‚˜์˜จ๋‹ค.

  • ๊ทธ๋ฆฌ๊ณ  ์ด์–ด์„œ ๊ฐ ์ปค๋ฐ‹์˜ SHA-1 ์ฒดํฌ์„ฌ,

    ์ €์ž ์ด๋ฆ„, ์ €์ž ์ด๋ฉ”์ผ, ์ปค๋ฐ‹ํ•œ ๋‚ ์งœ, ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.


5. git ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ 3๊ฐ€์ง€

git tag
  • ์ปค๋ฐ‹์„ ์ฐธ์กฐํ•˜๊ธฐ ์‰ฝ๋„๋ก ์•Œ๊ธฐ ์‰ฌ์šด ์ด๋ฆ„์„ ๋ถ™์ž„.
git commit --amend
  • ๊ฐ™์€ ๋ธŒ๋žœ์น˜ ์ƒ์— ์žˆ๋Š” ์ตœ์ข… ์ปค๋ฐ‹์„ ์ทจ์†Œํ•˜๊ณ  ์ƒˆ๋กœ์šด ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์„ค๋ช…์„ ๋ง๋ถ™์ธ ์ปค๋ฐ‹์„ ํ•  ์ˆ˜ ์žˆ์Œ.
git revert
  • ์ด์ „์— ์ž‘์„ฑํ•œ ์ปค๋ฐ‹์„ ์ง€์›€. ํŠน์ • ์ปค๋ฐ‹์˜ ๋‚ด์šฉ์„ ์ง€์šฐ๋Š” ์ƒˆ๋กœ์šด ์ปค๋ฐ‹์„ ๋งŒ๋“ค์–ด ์ง€์šด ๋‚ด์—ญ์„ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ํ•จ.
git reset
  • ์–ด๋–ค ์ปค๋ฐ‹์„ ๋ฒ„๋ฆฌ๊ณ  ์ด์ „์˜ ํŠน์ • ๋ฒ„์ „์œผ๋กœ ๋‹ค์‹œ ๋˜๋Œ๋ฆด ๋•Œ ์‚ฌ์šฉํ•จ. git revert์™€ ๋‹ค๋ฅธ ์ ์€ ์ง€์šด ์ปค๋ฐ‹ ๋‚ด์—ญ์„ ๋‚จ๊ธฐ์ง€ ์•Š๋Š”๋‹ค๋Š” ์ .
git checkout HEAD --filename
  • ์•„์ง ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ ๋‚ด์—ญ์„ ์ทจ์†Œํ•จ.
git rabse
  • git merge์ฒ˜๋Ÿผ ๋ณ‘ํ•ฉํ•  ๋•Œ ์‚ฌ์šฉํ•จ. ํ•˜์ง€๋งŒ ๋ธŒ๋žœ์น˜๊ฐ€ ๋งŽ์„ ๊ฒฝ์šฐ ๋ธŒ๋žœ์น˜ ์ด๋ ฅ์„ ํ™•์ธํ•˜๋ฉด์„œ ๋ณ‘ํ•ฉํ•จ.
git rebase -i
  • ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๊ฐœ์˜ ์ปค๋ฐ‹ ๋‚ด์—ญ์„ ํ•ฉ์นจ.

6. merge request ๊ธฐ๋Šฅ ํ™•์ธ

  • develop branch์— ๊ฐœ๋ฐœ๋œ ์‚ฌํ•ญ์„ master ์— merge ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐœ๋ฐœ์ž์˜
    merge request ์™€ ๊ด€๋ฆฌ์ž์˜ ์Šน์ธ์ด ํ•„์š”ํ•˜๋‹ค.

  • git repository ์ขŒ์ธก ๋ฉ”๋‰ด - merge requests ๋ฒ„ํŠผ ํด๋ฆญ

  • new merge request ํด๋ฆญ

  • source branch ์—๋Š” ์ž์‹ ์ด mergeํ•˜๋ ค๋Š” repository์˜ branch(develop) ์„ ํƒ

  • target branch merge ๋Œ€์ƒ์˜ repository branch(master) ์„ ํƒํ•˜์—ฌ

  • Compare branches and continue ๋ฒ„ํŠผ ํด๋ฆญ


7. issue ๊ธฐ๋Šฅ ํ™•์ธ

  • Issue ๋ž€?
    ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ์ด์Šˆ๋ฅผ ๋œปํ•œ๋‹ค. (๋ฒ„๊ทธ ๋ฐœ์ƒ, ๊ฐœ๋ฐœ, ํ’€ ๋ฆฌํ€˜์ŠคํŠธ ๋“ฑ..)

  • Issue ์ƒ์„ฑํ•˜๊ธฐ
    ์ด์Šˆ๋Š” ์œ ์ €์˜ ์ด์Šˆ ์‚ฌ์šฉ์ด ํ—ˆ์šฉ๋œ ๊นƒํ—™ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—์„œ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. (์ด์Šˆ๋ฅผ ์‚ฌ์šฉ ์•ˆํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.)

  • ์ด์Šˆ๋Š” ํ˜„์žฌ ์กด์žฌํ•˜๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ์ฝ”๋“œ๋กœ๋„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

    ํ’€๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ํ•˜๊ณ ์žˆ๋Š” ํŒŒ์ผ์„ View File์„ ํ•œ ํ›„ ์ฝ”๋“œ๋ฅผ ์„ ํƒํ•ด์„œ ์ด์Šˆ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋˜ํ•œ, ํ•˜๋‚˜์˜ ์ด์Šˆ ๋˜๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ์˜ ๋ฆฌ๋ทฐ์— ์žˆ๋Š” ์ฝ”๋ฉ˜ํŠธ๋กœ๋ถ€ํ„ฐ๋„ ๋ฐ”๋กœ ์ด์Šˆ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋งŒ์•ฝ ์—…๋ฌด์˜ ์šฐ์„ ์ˆœ์œ„์™€ ์ถ”์ ์„ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด,

    ํ”„๋กœ์ ํŠธ ๋ณด๋“œ ๋…ธํŠธ๋ฅผ ์ด์Šˆ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜๋„ ์žˆ๋‹ค.


์ฐธ๊ณ  ์‚ฌ์ดํŠธ

๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” Git ์ž…๋ฌธ
https://backlog.com/git-tutorial/kr/stepup/stepup2_2.html

Git ์‚ฌ์šฉ๋ฒ•
https://www.zerocho.com/category/Git/post/581042fdcae2d100152ceae6

profile
ํ˜ธ์‹ฑ

0๊ฐœ์˜ ๋Œ“๊ธ€