Search

Git κΈ°λ³Έ 버전 관리

1.
둜컬 μ €μž₯μ†Œ μ΄ˆκΈ°ν™”:
β€’
git init: μƒˆλ‘œμš΄ Git μ €μž₯μ†Œλ₯Ό μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€.
2.
파일 좔적 및 μŠ€ν…Œμ΄μ§•:
β€’
git add <file>: λ³€κ²½λœ νŒŒμΌμ„ μŠ€ν…Œμ΄μ§• μ˜μ—­μ— μΆ”κ°€ν•©λ‹ˆλ‹€.
β€’
git add .: λͺ¨λ“  λ³€κ²½λœ νŒŒμΌμ„ μŠ€ν…Œμ΄μ§• μ˜μ—­μ— μΆ”κ°€ν•©λ‹ˆλ‹€.
3.
컀밋:
β€’
git commit -m "Commit message": μŠ€ν…Œμ΄μ§• μ˜μ—­μ— μžˆλŠ” λ³€κ²½ 사항을 μ»€λ°‹ν•©λ‹ˆλ‹€.
4.
λ³€κ²½ λ‚΄μ—­ 확인:
β€’
git status: μž‘μ—… λ””λ ‰ν† λ¦¬μ˜ μƒνƒœλ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
β€’
git diff: λ³€κ²½λœ 파일의 차이점을 ν™•μΈν•©λ‹ˆλ‹€.
5.
이λ ₯ 관리:
β€’
git log: 컀밋 둜그λ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
β€’
git revert <commit ID>: μ§€μ •ν•œ commit ID에 ν•΄λ‹Ήν•˜λŠ” λ³€κ²½ 사항을 λ˜λŒλ¦¬λŠ” λͺ…λ Ή
β€’
git reset: μŠ€ν…Œμ΄μ§• μ˜μ—­μ΄λ‚˜ 컀밋을 μ·¨μ†Œν•˜λŠ” λͺ…λ Ή
β—¦
git reset --soft <commit ID> : μ§€μ •ν•œ commit ID 의 컀밋을 μ·¨μ†Œν•˜κ³ , λ³€κ²½ 사항이 μŠ€ν…Œμ΄μ§• 된 μƒνƒœλ‘œ μœ μ§€ν•˜λŠ” λͺ…λ Ή
β—¦
git reset --mixed <commit ID> : μ§€μ •ν•œ commit ID 의 컀밋을 μ·¨μ†Œν•˜κ³ , λ³€κ²½ 사항을 μŠ€ν…Œμ΄μ§€μ—μ„œ μ œκ±°ν•˜λŠ” λͺ…λ Ή
β—¦
git reset --hard <commit ID> : 컀밋 μ·¨μ†Œ, μŠ€ν…Œμ΄μ§€μ—μ„œ 제거, μž‘μ—… ν΄λ”μ—μ„œλ„ 제거
β—¦
commit ID λŒ€μ‹  지정
β–ͺ
HEAD : ν˜„μž¬ 컀밋
β–ͺ
HEAD~1 : ν˜„μž¬ μ»€λ°‹μ—μ„œ λ°”λ‘œ μ΄μ „μ˜ 컀밋
β–ͺ
HEAD~N : ν˜„μž¬ μ»€λ°‹μ—μ„œ N 번째 μ΄μ „μ˜ 컀밋

둜컬 μ €μž₯μ†Œ μ΄ˆκΈ°ν™”

β€’
git init: μƒˆλ‘œμš΄ Git μ €μž₯μ†Œλ₯Ό μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€.

파일 μŠ€ν…Œμ΄μ§•

β€’
git add <file>: λ³€κ²½λœ νŒŒμΌμ„ μŠ€ν…Œμ΄μ§• μ˜μ—­μ— μΆ”κ°€ν•©λ‹ˆλ‹€.
β€’
git add .: λͺ¨λ“  λ³€κ²½λœ νŒŒμΌμ„ μŠ€ν…Œμ΄μ§• μ˜μ—­μ— μΆ”κ°€ν•©λ‹ˆλ‹€.

컀밋

β€’
git commit -m "Commit message": μŠ€ν…Œμ΄μ§• μ˜μ—­μ— μžˆλŠ” λ³€κ²½ 사항을 μ»€λ°‹ν•©λ‹ˆλ‹€.

λ³€κ²½ λ‚΄μ—­ 확인

β€’
git status: μž‘μ—… λ””λ ‰ν† λ¦¬μ˜ μƒνƒœλ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
β€’
git diff: λ³€κ²½λœ 파일의 차이점을 ν™•μΈν•©λ‹ˆλ‹€.

이λ ₯ 관리

β€’
git log: 컀밋 둜그λ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
β€’
git revert <commit>: 이전 컀밋을 λ˜λŒλ¦½λ‹ˆλ‹€.
β€’
git reset: μŠ€ν…Œμ΄μ§• μ˜μ—­μ΄λ‚˜ μž‘μ—… 디렉토리λ₯Ό μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€.

git reset

git reset --μ˜΅μ…˜
Bash
볡사
μ˜΅μ…˜
μ„€λͺ…
--soft
μ»€λ°‹λ§Œ μ·¨μ†Œν•˜κ³  λ³€κ²½ 사항은 μŠ€ν…Œμ΄μ§• μ˜μ—­μ— 남겨둠.
--mixed (κΈ°λ³Έκ°’)
컀밋을 μ·¨μ†Œν•˜κ³  λ³€κ²½ 사항은 μž‘μ—… 디렉토리에 남겨둠.
--hard
컀밋을 μ·¨μ†Œν•˜κ³  λ³€κ²½ 사항을 λͺ¨λ‘ μ œκ±°ν•¨. λͺ¨λ“  μˆ˜μ •λœ 파일이 μž‘μ—… λ””λ ‰ν† λ¦¬μ—μ„œ 사라짐.
--merge
λ‹€μ‹œ λ³‘ν•©λ˜μ§€ μ•Šμ€ λ³€κ²½ 사항을 μ œκ±°ν•˜κ³  ν˜„μž¬ 브랜치λ₯Ό μ§€μ •λœ μ»€λ°‹μœΌλ‘œ μž¬μ„€μ •ν•¨.
--keep
λ³€κ²½ 사항을 μœ μ§€ν•œ μ±„λ‘œ 컀밋을 μ·¨μ†Œν•¨.
--hard HEAD~n
HEADμ—μ„œ n번째 이전 μ»€λ°‹μœΌλ‘œ μž‘μ—… 디렉토리와 μŠ€ν…Œμ΄μ§• μ˜μ—­μ„ 되돌림.
--soft HEAD~n
HEADμ—μ„œ n번째 이전 μ»€λ°‹μœΌλ‘œ μ»€λ°‹λ§Œ μ·¨μ†Œν•¨.
--mixed HEAD~n
HEADμ—μ„œ n번째 이전 μ»€λ°‹μœΌλ‘œ μž‘μ—… 디렉토리λ₯Ό 되돌리고 μŠ€ν…Œμ΄μ§• μ˜μ—­μ€ 비움.