μƒˆμ†Œμ‹

IT & Security/Git & GitHub

Git의 λ™μž‘ 원리

  • -
λ°˜μ‘ν˜•

λͺ¨λ“  ν¬μŠ€νŒ…μ€ ꡬ름에듀 κ°•μ’Œ 쀑 "Git으둜 μ‹œμž‘ν•˜λŠ” ν˜‘μ—… 및 μ˜€ν”ˆμ†ŒμŠ€ ν”„λ‘œμ νŠΈ" μ˜ λ‚΄μš©μ„ λ‹΄κ³  있으며

μΆœμ²˜λŠ” μ•„λž˜μ˜ μ£Όμ†Œλ‘œ "λ‚˜λ™λΉˆ"λ‹˜μ˜ μžλ£Œμž…λ‹ˆλ‹€. 

상업적인 μ˜λ„κ°€ μ•„λ‹Œ κ³΅λΆ€ν•œ 것을 μ •λ¦¬ν•΄λ†“λŠ” λͺ©μ μœΌλ‘œ ν¬μŠ€νŒ… ν•œ κ²ƒμž…λ‹ˆλ‹€.

 

edu.goorm.io/learn/lecture/11528/git으둜-μ‹œμž‘ν•˜λŠ”-ν˜‘μ—…-및-μ˜€ν”ˆμ†ŒμŠ€-ν”„λ‘œμ νŠΈ/info

 

ꡬ름EDU - λͺ¨λ‘λ₯Ό μœ„ν•œ λ§žμΆ€ν˜• ITꡐ윑

ꡬ름EDUλŠ” λͺ¨λ‘λ₯Ό μœ„ν•œ λ§žμΆ€ν˜• ITꡐ윑 ν”Œλž«νΌμž…λ‹ˆλ‹€. 개인/학ꡐ/κΈ°μ—… 및 κΈ°κ΄€ 별 μ΅œμ ν™”λœ ITꡐ윑 μ†”λ£¨μ…˜μ„ κ²½ν—˜ν•΄λ³΄μ„Έμš”. κΈ°μ΄ˆλΆ€ν„° 싀무 ν”„λ‘œκ·Έλž˜λ° ꡐ윑, μ „κ΅­ μ΄ˆμ€‘κ³ /λŒ€ν•™κ΅ 온라인 κ°•μ˜, κΈ°μ—…/

edu.goorm.io


# κΉƒ λ™μž‘ 원리

기본적으둜 κΉƒ ν”„λ‘œμ νŠΈμ˜ 담겨 μžˆλŠ” 데이터듀은 파일 μ‹œμŠ€ν…œ μƒμ—μ„œμ˜ μŠ€λƒ…μƒ·μ΄λΌκ³  λ³Ό 수 μžˆλ‹€.

- μ‹€μ œ ν”„λ‘œμ νŠΈλ₯Ό μ»€λ°‹ν•˜μ—¬ μ μš©ν•  λ•Œμ˜ μˆœκ°„μ„ μ€‘μš”μ‹œ ν•œλ‹€.

- 파일 자체λ₯Ό μˆ˜μ •ν•˜κΈ°λ³΄λ‹€ μˆ˜μ • λ‚΄μ—­ 자체λ₯Ό μ €μž₯ν•œλ‹€.(깃이 λ©”λͺ¨λ¦¬ 적으둜 νš¨μœ¨μ μ΄λΌλŠ” 것!)

 

# κΉƒ ν”„λ‘œμ νŠΈμ˜ 세가지 μš”μ†Œ

- Working Directory : μž‘μ—…ν•  파일이 μžˆλŠ” 디렉토리 이닀.

- Staging Area : 컀밋(Commit)을 μˆ˜ν–‰ν•  νŒŒμΌλ“€μ΄ μ˜¬λΌκ°€λŠ” μ˜μ—­μ΄λ‹€.(add 즉 μΆ”κ°€ λͺ…령이 μ‚¬μš©λ  λ•Œμ˜ μ˜μ—­)

- Git Directory : Git ν”„λ‘œμ νŠΈμ˜ 메타 데이터와 데이터 정보가 μ €μž₯λ˜λŠ” 디렉토리이닀.(이전 μ‹œκ°„μ— λ§Œλ“  .git파일이 μ‘΄μž¬ν•˜λŠ” κ³³)

 

κΉƒ ν”„λ‘œμ νŠΈλŠ” μ΄λ ‡κ²Œ μœ„ 3가지 μš”μ†Œλ₯Ό 톡해 κ΅¬μ„±λœλ‹€.

 

 

# Git λ™μž‘ κ³Όμ •

git fetch : λ‹€λ₯Έ μ‚¬λžŒμ΄ μž‘μ—…ν•œ 데이터λ₯Ό μžμ‹ μ˜ μ»΄ν“¨ν„°μ˜ 받을 μˆ˜κ°€ μžˆλ‹€.
git merge : λ™μ‹œ μž‘μ—…μ„ ν•˜μ—¬ 좩돌이 λ°œμƒν•˜λŠ” 경우, 우리 컴퓨터와 리λͺ¨νŠΈ 리포지토리λ₯Ό λ§žμΆ”μ–΄ μ£ΌλŠ” 역할을 ν•œλ‹€.

 

이 두가지 λͺ…령을 ν•©μ³μ„œ ν•œ λ²ˆμ— μ‚¬μš©ν•˜λŠ” λͺ…령어인 "git pull"을 μ‚¬μš©ν•΄λ„ λœλ‹€.

 

# μ €μž₯μ†Œ(repository)

각쒅 νŒŒμΌμ΄λ‚˜ μ†ŒμŠ€μ½”λ“œκ°€ 담겨 μžˆμœΌλ©΄μ„œ 컀밋 λ‚΄μ—­λ“±μ˜ λͺ¨λ“  μž‘μ—… 이λ ₯이 λ‹΄κΈ΄ 곡간이닀. repo라고도 λΆ€λ₯Έλ‹€.

 

μ‹€μ œλ‘œ ν”„λ‘œμ νŠΈμ˜ 메타 데이터λ₯Ό 포함해 각쒅 λ°μ΄ν„°λŠ” .git에 λ‹΄κΈ°κ²Œ λœλ‹€.

즉 ν™˜κ²½μ„€μ •κ³Ό κ΄€λ ¨λœ 폴더라고 μƒκ°ν•˜λ©΄ λœλ‹€.

각쒅 μˆ˜μ • 내역듀이 파일 ν˜•νƒœλ‘œ μ €μž₯λ˜λŠ” 것을 λ³Ό 수 μžˆλ‹€.

 

각각의 μž‘μ—… 내역을 ꡬ뢄할 수 μžˆλ„λ‘ ν•΄μ‹œ 값을 μ‚¬μš©ν•œλ‹€.(컀밋 내역을 관리함)

 

λ°˜μ‘ν˜•
Contents

ν¬μŠ€νŒ… μ£Όμ†Œλ₯Ό λ³΅μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€

이 글이 도움이 λ˜μ—ˆλ‹€λ©΄ 곡감 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.