[Git] κΉƒ(Git)을 ν™œμš©ν•œ ν”„λ‘œμ νŠΈ 관리

Posted by Euisuk's Dev Log on May 2, 2023

[Git] κΉƒ(Git)을 ν™œμš©ν•œ ν”„λ‘œμ νŠΈ 관리

원본 κ²Œμ‹œκΈ€: https://velog.io/@euisuk-chung/2.-κΉƒGit을-ν™œμš©ν•œ-ν”„λ‘œμ νŠΈ-관리

κΉƒ(Git)을 ν™œμš©ν•œ ν”„λ‘œμ νŠΈ 관리

κΉƒ(Git)은 λΆ„μ‚° 버전 관리 μ‹œμŠ€ν…œμœΌλ‘œ, λ‹€μ–‘ν•œ ν”„λ‘œμ νŠΈμ—μ„œ μ†ŒμŠ€μ½”λ“œμ™€ λ¬Έμ„œλ₯Ό κ΄€λ¦¬ν•˜κ³  ν˜‘μ—…μ„ ν•  λ•Œ 효율적으둜 μ‚¬μš©λ©λ‹ˆλ‹€. 깃을 ν™œμš©ν•˜μ—¬ ν”„λ‘œμ νŠΈλ₯Ό κ΄€λ¦¬ν•˜λŠ” 방법에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

κΉƒμ˜ μ‚¬μš©λ²•

1. Repository(μ €μž₯μ†Œ) 생성

ν”„λ‘œμ νŠΈλ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ¨Όμ € κΉƒ μ €μž₯μ†Œλ₯Ό 생성해야 ν•©λ‹ˆλ‹€. κΉƒ μ €μž₯μ†ŒλŠ” 둜컬 μ €μž₯μ†Œμ™€ 원격 μ €μž₯μ†Œλ‘œ λ‚˜λ‰˜λ©°, 둜컬 μ €μž₯μ†ŒλŠ” 개발자의 개발 ν™˜κ²½μ—μ„œ μ‚¬μš©λ˜λŠ” μ €μž₯μ†Œμ΄λ©°, 원격 μ €μž₯μ†ŒλŠ” λ‹€λ₯Έ κ°œλ°œμžμ™€ ν˜‘μ—…ν•  λ•Œ μ‚¬μš©λ˜λŠ” μ €μž₯μ†Œμž…λ‹ˆλ‹€.

1
2
$ git init            # 둜컬 μ €μž₯μ†Œ 생성
$ git remote add origin [원격 μ €μž₯μ†Œ URL]   # 원격 μ €μž₯μ†Œμ™€ 둜컬 μ €μž₯μ†Œ μ—°κ²°

2. Branch(브랜치) 관리

깃은 브랜치 κΈ°λŠ₯을 μ œκ³΅ν•˜μ—¬, 독립적인 μž‘μ—… λΌμΈμ—μ„œ μž‘μ—…μ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μƒˆλ‘œμš΄ κΈ°λŠ₯ μΆ”κ°€λ‚˜ 버그 μˆ˜μ • 등을 μœ„ν•΄ 독립적인 브랜치λ₯Ό μƒμ„±ν•˜μ—¬ μž‘μ—…ν•˜λ©΄, λ‹€λ₯Έ μž‘μ—… λΌμΈμ—μ„œμ˜ 영ν–₯을 μ΅œμ†Œν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이에 λŒ€ν•΄μ„œ 더 κΆκΈˆν•˜μ‹  뢄은 4. κΉƒ(Git) Branch에 λŒ€ν•œ 이해와 ν™œμš©μ—μ„œ μ’€ 더 μžμ„Έν•œ λ‚΄μš©μ„ 확인해 보싀 수 μžˆμŠ΅λ‹ˆλ‹€.

1
2
$ git branch [브랜치 이름]   # 브랜치 생성
$ git checkout [브랜치 이름]   # 브랜치둜 이동

3. Commit(컀밋) 관리

λ³€κ²½ 내역을 μ €μž₯μ†Œμ— κΈ°λ‘ν•˜λŠ” μž‘μ—…μ„ 컀밋이라고 ν•©λ‹ˆλ‹€. 각각의 컀밋은 κ³ μœ ν•œ ν•΄μ‹œκ°’μ„ κ°€μ§€λ©°, λ³€κ²½ λ‚΄μ—­μ˜ 이λ ₯을 좔적할 수 μžˆμŠ΅λ‹ˆλ‹€.

1
2
$ git add [λ³€κ²½λœ 파일]   # 파일 μΆ”κ°€
$ git commit -m "[컀밋 λ©”μ‹œμ§€]"   # 컀밋 생성

4. ν”„λ‘œμ νŠΈ 이λ ₯ 좔적 및 관리

깃을 ν™œμš©ν•˜λ©΄ ν”„λ‘œμ νŠΈμ˜ λ³€κ²½ 이λ ₯을 μΆ”μ ν•˜κ³  관리할 수 μžˆμŠ΅λ‹ˆλ‹€. 이전 λ²„μ „μœΌλ‘œ λŒμ•„κ°€λŠ” λ“± λ‹€μ–‘ν•œ μž‘μ—…μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.

1
2
3
$ git log   # 컀밋 이λ ₯ 확인
$ git diff [컀밋 ν•΄μ‹œ] [컀밋 ν•΄μ‹œ]   # 컀밋 κ°„ 차이점 확인
$ git reset --hard [컀밋 ν•΄μ‹œ]   # νŠΉμ • μ»€λ°‹μœΌλ‘œ 이동


-->