Gitμ κΈ°λ³Έ κ°λ κ³Ό μ€μΉ λ°©λ²: λ²μ κ΄λ¦¬μ νμ κ°μ΄λ π
κ°λ°μλ€μ΄ κΌ μμμΌ ν λ²μ κ΄λ¦¬ μμ€ν , Git ! λ²μ κ΄λ¦¬ μμ€ν (VCS)μ μ½λμ λ³κ²½ μ΄λ ₯μ κ΄λ¦¬νμ¬ νλ‘μ νΈμ μμ μ±μ μ μ§νκ³ , νμ μ μννκ² λλ μ€μν λꡬμ λλ€. νΉν, Git μ λΆμ°ν λ²μ κ΄λ¦¬ μμ€ν μΌλ‘ μ μΈκ³ κ°λ°μλ€μκ² λ리 μ¬λλ°κ³ μμ΅λλ€. μ΄λ² ν¬μ€ν μμλ Gitμ κ°λ κ³Ό μ€μΉ λ°©λ²μ ν΅ν΄ μ¬λ¬λΆμ΄ μ½κ² Gitμ μ΄ν΄νκ³ μ€μΉν μ μλλ‘ μλ΄ν©λλ€.
1. λ²μ κ΄λ¦¬μ μ€μμ±: μ Gitμ΄ νμν κΉ?
λ²μ κ΄λ¦¬ μμ€ν μ μ½λλ νμΌμ λ³κ²½ μ΄λ ₯μ κ΄λ¦¬νμ¬, κ° λ²μ κ°μ μ°¨μ΄λ₯Ό νμΈνκ³ μ΄μ λ²μ μΌλ‘ μ½κ² λμκ° μ μλλ‘ λμ΅λλ€. μ΄ μ€μμλ Git μ λΆμ°ν λ²μ κ΄λ¦¬ μμ€ν μΌλ‘, λ€νΈμν¬μ μ°κ²°λμ§ μμλ λ‘컬μμ μμ λ‘κ² μμ νκ³ , μ격 μλ²μ μμ νκ² λ°±μ ν μ μμ΅λλ€.
Gitκ³Ό λ€λ₯Έ λ²μ κ΄λ¦¬ μμ€ν λΉκ΅
λ²μ κ΄λ¦¬ μμ€ν | νΉμ§ | μ£Όμ μ₯μ |
---|---|---|
Git | λΆμ°ν, μ€ν μμ€ | λ€νΈμν¬ μ°κ²° μμ΄ μμ κ°λ₯, λ³ν© κ°λ ₯ |
SVN | μ€μμ§μ€ν, μ€ν μμ€ | μλ²μ μμ‘΄ν΄ κ΄λ¦¬, λΉκ΅μ λ¨μν ꡬ쑰 |
Mercurial | λΆμ°ν, μ€ν μμ€ | μλκ° λΉ λ₯΄κ³ μ¬μ©λ²μ΄ κ°λ¨ν¨ |
Gitμ SVN κ³Ό λ¬λ¦¬ μ€μ μλ²μ μμ‘΄νμ§ μμΌλ©°, λ‘컬μμλ μΆ©λΆν μμ μ μ§νν μ μμ΅λλ€. λν Gitμ λΈλμΉ λ° λ³ν© κΈ°λ₯ μ΄ κ°λ ₯ν΄, μ¬λ¬ κ°λ°μκ° λμμ λ€μν κΈ°λ₯μ μμ νκΈ°μ λ§€μ° μ μ©ν©λλ€.
2. Git μ€μΉνκΈ°: μ΄μ체μ λ³ μ€μΉ λ°©λ²
Windowsμμ Git μ€μΉνκΈ°
- Git λ€μ΄λ‘λ νμ΄μ§ μ μ μνμ¬ μ΅μ λ²μ μ λ€μ΄λ‘λν©λλ€.
- λ€μ΄λ‘λν μ€μΉ νμΌμ μ€ννκ³ , μ€μΉ μ΅μ μ νμΈνλ©° μ§νν©λλ€.
- Git Bash λΌλ 컀맨λ λΌμΈ λκ΅¬κ° μ€μΉλλ©°, μ΄λ₯Ό ν΅ν΄ λ€μν Git λͺ λ Ήμ΄λ₯Ό μ€νν μ μμ΅λλ€.
Tip: Windowsμμ Git Bashλ₯Ό μ¬μ©νλ©΄ Linuxμ λΉμ·ν νκ²½μμ μμ ν μ μμ΄ νΈλ¦¬ν©λλ€.
Macμμ Git μ€μΉνκΈ°
Macμλ κΈ°λ³Έμ μΌλ‘ Gitμ΄ μ€μΉλμ΄ μμ§λ§, μ΅μ λ²μ μ μ¬μ©νκ³ μΆλ€λ©΄ Homebrew λ₯Ό ν΅ν΄ μ€μΉνλ κ²μ κΆμ₯ν©λλ€.
brew install git
μ΄ λͺ λ Ήμ΄λ₯Ό ν°λ―Έλμ μ λ ₯νλ©΄ Homebrewκ° μ΅μ Gitμ μ€μΉν©λλ€.
Linuxμμ Git μ€μΉνκΈ°
Linuxμμλ ν¨ν€μ§ κ΄λ¦¬μλ₯Ό ν΅ν΄ κ°λ¨ν Gitμ μ€μΉν μ μμ΅λλ€. μλ₯Ό λ€μ΄, Ubuntuμμλ λ€μκ³Ό κ°μ λͺ λ Ήμ΄λ‘ μ€μΉν©λλ€:
sudo apt update
sudo apt install git
μ€μΉκ° μλ£λλ©΄ ν°λ―Έλμ
git --version
μ μ
λ ₯νμ¬ μ€μΉκ° μλ£λμλμ§ νμΈν μ μμ΅λλ€.
3. Git κΈ°λ³Έ μ¬μ©λ²: νμ λͺ λ Ήμ΄μ μ€μ΅ μμ
Gitμ μ€μΉν ν, νλ‘μ νΈ λλ ν 리μμ λ€μκ³Ό κ°μ λͺ λ Ήμ΄λ€μ μ¬μ©ν΄λ³΄μΈμ.
λ‘컬 μ μ₯μ μ΄κΈ°ννκΈ°
git init
μ΄ λͺ λ Ήμ΄λ νμ¬ λλ ν 리λ₯Ό Git μ μ₯μλ‘ μ΄κΈ°νν©λλ€. μ΄ν λͺ¨λ νμΌ λ³κ²½ μ¬νμ Gitμ΄ μΆμ ν μ μκ² λ©λλ€.
νμΌ μΆκ° λ° μ»€λ°νκΈ°
git add <νμΌλͺ
>
git commit -m "μ»€λ° λ©μμ§"
git add
λͺ λ Ήμ΄λ μ§μ ν νμΌμ μ€ν μ΄μ§ μμ μ μΆκ°νμ¬, μ»€λ° μ€λΉλ₯Ό ν©λλ€.git commit
λͺ λ Ήμ΄λ λ³κ²½ μ¬νμ μ»€λ° νμ¬, λ²μ κΈ°λ‘μ λ¨κΉλλ€.
λ³κ²½ μ¬ν νμΈνκΈ°
git status
git status
λ νμ¬ μμ
λλ ν 리μ μνλ₯Ό νμΈνμ¬, λ³κ²½λ νμΌμ΄ μλμ§, μΆκ°λ νμΌμ΄ μλμ§ λ±μ μλ €μ€λλ€.
κ³Όκ±°λ‘ λμκ°κΈ°: λ²μ λλ리기
Gitμ κ°λ ₯ν κΈ°λ₯ μ€ νλλ κ³Όκ±°μ νΉμ μμ μΌλ‘ λμκ° μ μλ€λ μ μ λλ€. μλ₯Ό λ€μ΄, μ΄μ 컀λ°μΌλ‘ λλμκ°κ³ μΆλ€λ©΄ λ€μ λͺ λ Ήμ΄λ₯Ό μ¬μ©ν©λλ€.
git checkout <μ»€λ° ν΄μ>
μ΄ λͺ λ Ήμ΄λ ν΄λΉ 컀λ°μ μνλ‘ μ½λλ₯Ό λλ립λλ€. μ΄ κ³Όμ μ ν΅ν΄ μ€μν μ½λμ λ³κ²½ μ¬νμ 볡ꡬ ν μ μμ΅λλ€.
4. μ€λ¬΄μμ Gitμ νμ©ν νμ : κΈ°λ³Έ κ°λ κ³Ό μ£Όμμ¬ν
Gitμ λΆμ°ν ꡬ쑰 λ₯Ό ν΅ν΄ μ¬λ¬ λͺ μ΄ λμμ μμ νλ κ²μ μ§μν©λλ€. Gitμ ν΅ν νμ μμλ λΈλμΉ(branch) λ₯Ό λλμ΄ κ°μ μμ μ μ§ννκ³ , μ΄ν λ³ν©(merge)νμ¬ νλμ μμ±λ μ½λλ‘ ν©μΉ©λλ€.
Git λΈλμΉμ λ³ν© μ΄ν΄νκΈ°
git branch <λΈλμΉλͺ
>
git checkout <λΈλμΉλͺ
>
git branch
λ μλ‘μ΄ λΈλμΉλ₯Ό μμ±νμ¬, μμ μ΄ λ 립μ μΌλ‘ μ΄λ£¨μ΄μ§λλ‘ ν©λλ€.git checkout
μ ν΅ν΄ μνλ λΈλμΉλ‘ μ΄λν μ μμ΅λλ€.
μ΄ν λ³ν© μμ μ ν΅ν΄ κ°μ μμ ν λ΄μ©μ νλμ λ©μΈ λΈλμΉμ λ°μν μ μμ΅λλ€.
μΌλ°μ μΈ Git μ¬μ© ν΅κ³ λ° νΈλ λ μ 보 π
μ΅κ·Ό μ‘°μ¬μ λ°λ₯΄λ©΄, κ°λ°μμ 90% μ΄μ μ΄ Gitμ λ²μ κ΄λ¦¬ λκ΅¬λ‘ μ¬μ©νκ³ μμΌλ©°, νΉν μ€ν μμ€ νλ‘μ νΈμ κΈ°μ μμμ νμ©λκ° λ§€μ° λμ΅λλ€. Gitμ νμ κ³Ό μ½λ κ΄λ¦¬μ νμ€μΌλ‘ μ리 μ‘κ³ μμ΄, κ°λ°μκ° νμμ μΌλ‘ μ΅νμΌ ν κΈ°μ λ‘ νκ°λ°κ³ μμ΅λλ€.
FAQ π€
Q1. Gitκ³Ό GitHubμ μ°¨μ΄λ 무μμΈκ°μ?
A1. Gitμ λΆμ°ν λ²μ κ΄λ¦¬ μμ€ν
(VCS)μ΄κ³ , GitHubλ Gitμ κΈ°λ°μΌλ‘ ν μ½λ μ μ₯μ νΈμ€ν
μλΉμ€μ
λλ€.
Q2. Gitμ κΌ μ€μΉν΄μΌ νλμ?
A2. Gitμ μ§μ μ€μΉνμ§ μκ³ λ GitHub λ±μ μΉ μΈν°νμ΄μ€λ₯Ό μ΄μ©ν μ μμ§λ§, λ‘컬μμ μμ
νλ €λ©΄ Gitμ΄ νμν©λλ€.
Q3. Gitμ λμμ΄ μλμ?
A3. Git μΈμλ SVN, Mercurial λ±μ΄ μμ΅λλ€. νμ§λ§ Gitμ μ±λ₯κ³Ό κΈ°λ₯μμ μ νΈλλ κ²½μ°κ° λ§μ΅λλ€.
Q4. Gitμ λΈλμΉλ μ΄λ»κ² μ¬μ©νλμ?
A4. Gitμ λΈλμΉλ κ°κ°μ λ
립μ μΈ μμ
νκ²½μ μ 곡νλ©°, λ³ν©μ ν΅ν΄ λͺ¨λ μμ
λ΄μ©μ ν΅ν©ν μ μμ΅λλ€.
Q5. Gitμ μ΄μ©ν νμ
μ μ΄λ»κ² νλμ?
A5. GitHub λλ GitLabκ³Ό κ°μ μ격 μ μ₯μλ₯Ό νμ©νμ¬ κ³΅λ μμ
νκ³ , Pull Request λ±μ ν΅ν΄ μ½λ 리뷰μ λ³ν©μ μ§νν©λλ€.
μ΄ κ°μ΄λλ₯Ό ν΅ν΄ Gitμ κ°λ κ³Ό μ€μΉ λ°©λ²μ μ΄ν΄νκ³ μ€μ΅ν΄λ³΄μΈμ! Gitμ κ°λ°μ νμμ μΈ κΈ°μ λ‘, μ¬λ¬λΆμ νλ‘μ νΈμ ν° λμμ΄ λ κ²μ λλ€.
λκΈ