λ€μ΄κ°λ©°
μ¬ν΄μ κ°μΈμ μΌλ‘ λͺ©νλ₯Ό μΈμ λ κ²λ€ μ€ Git
곡λΆκ° μμμ΅λλ€. νμ§λ§ νμ¬λ΄μμ νλ‘μ νΈλ₯Ό μ§ννλ©΄μ μ£Όλ§μλ μΌμ νλ λ°λμ λ°λ‘ 곡λΆνλ μκ°μ κ°μ§ λͺ»νμ£ ....
νλ‘μ νΈκ° μ±κ³΅μ μΌλ‘ λ§λ¬΄λ¦¬ λλ©΄μ μ΄μ κ°μΈ 곡λΆλ₯Ό ν μκ°μ΄ νλ³΄κ° λλ©΄μ κ³ννμλ Git
곡λΆλ₯Ό μμνλ €κ³ ν©λλ€!
μλ Gitμ μ¦κ²¨ μ¬μ©νμμ§λ§ deepνκ² κ³΅λΆνκ³ μΆμκ³ , νΉν gitμ λκ΅°κ°μκ² μ€λͺ ν μ μμ μ λμ μμ€μΌλ‘ λμ΄μ¬λ¦¬κ³ μΆμ΄ 곡λΆλ₯Ό νκΈ°λ‘ κ²°μ¬νκ² λμμ΄μ! ππΌββοΈ
μ΄ ν¬μ€ν μ μ리μ¦λ‘μ¨ μμ±λ κ²μ΄λ©° μ± ProGit μ 곡λΆνλ©΄μ μμ½/μ 리 νλ ν¬μ€ν μ λλ€!
μ΄ κ²μκΈμ 보며 λμμ΄ λμμΌλ©΄ μ’κ² μ΅λλ€.
λ²μ κ΄λ¦¬λ?
λ²μ κ΄λ¦¬λ 무μμ΄κ³ , μ΄κ²μ μ ν΄μΌν κΉ ?
λ²μ κ΄λ¦¬ μμ€ν μ νμΌ λ³νλ₯Ό μκ°μ λ°λΌ κΈ°λ‘νλ€κ° λμ€μ νΉμ μμ μ λ²μ μ λ€μ κΊΌλ΄μ¬ μ μλ μμ€ν μ λλ€.
λ²μ κ΄λ¦¬ μμ€ν μ μ¬μ©νκ² λλ©΄ κ° νμΌμ μ΄μ μνλ‘ λλ릴 μ μκ³ , νλ‘μ νΈλ₯Ό ν΅μ§Έλ‘ μ΄μ μνλ‘ λλ릴 μ μκ³ , μκ°μ λ°λΌ μμ λ΄μ©μ λΉκ΅ν΄λ³΄λ©°, λκ° λ¬Έμ λ₯Ό μΌμΌμΌ°λμ§λ μΆμ μ΄ κ°λ₯ν©λλ€. λ, νμΌμ μμ΄λ²λ¦¬κ±°λ μλͺ» κ³ μ³€μ λλ μ½κ² 볡ꡬ ν μ μμ΅λλ€.
Gitμ κΈ°μ΄
μ€λ μ·
Git
μ ν΅μ¬μ λ°μ΄ν°λ₯Ό λ€λ£¨λ λ°©λ²μ
λλ€. Git
μ λ°μ΄ν°λ₯Ό νμΌ μμ€ν
μ€λ
μ·μΌλ‘ μ·¨κΈνκ³ μμ£Ό μμ΅λλ€. Git
μ 컀λ°νκ±°λ νλ‘μ νΈμ μνλ₯Ό μ μ₯ν λλ§λ€ νμΌμ΄ μ‘΄μ¬νλ κ·Έ μκ°μ μ·¨κΈν©λλ€. νμΌμ΄ λ¬λΌμ§μ§ μμμΌλ©΄ Git
μ μ±λ₯μ μν΄μ νμΌμ μλ‘ μ μ₯νμ§ μμ΅λλ€.
Git
μ λ°μ΄ν°λ₯Ό μ€νμ·μ μ€νΈλ¦Όμ²λΌ μ·¨κΈν©λλ€.
κ±°μ λͺ¨λ λͺ λ Ήμ λ‘컬μμ μ€ν
Git
μ κ±°μ λͺ¨λ λͺ
λ Ήμ΄ λ‘컬 νμΌκ³Ό λ°μ΄ν°λ§ μ¬μ©νκΈ° λλ¬Έμ λ€νΈμν¬μ μλ λ€λ₯Έ μ»΄ν¨ν°λ νμκ° μμ΅λλ€.
μλ₯Ό λ€μ΄, Git
μ νλ‘μ νΈμ νμ€ν 리λ₯Ό μ‘°νν λ μλ²μμ΄ μ‘°νν©λλ€. μ΄λ€ νμΌμ νμ¬ λ²μ κ³Ό νλ¬ μ μ μνλ₯Ό λΉκ΅ν΄ λ³΄κ³ μΆμ λλ Gitμ κ·Έλ₯ νλ¬ μ μ νμΌκ³Ό μ§κΈμ νμΌμ λ‘컬μμ μ°Ύμ΅λλ€.
μ¦, μ€νλΌμΈ μνμ΄κ±°λ VPN
μΌλ‘ μ°κ²° ν μ μμ΄λ λ§νμμ΄ μΌν μ μμ΅λλ€.
Gitμ 무결μ±
Git
μ λ°μ΄ν°λ₯Ό μ μ₯νκΈ° μ μ νμ 체ν¬μ¬μ ꡬνμ¬ κ·Έ 체ν¬μ¬μΌλ‘ λ°μ΄ν°λ₯Ό κ΄λ¦¬ν©λλ€. κ·Έλμ 체ν¬μ¬μμ΄λ μ΄λ ν νμΌμ΄λ λλ ν λ¦¬λ‘ λ³κ²½ ν μ μμ΅λλ€.
Git
μ SHA-1
ν΄μλ₯Ό μ¬μ©νμ¬ μ²΄ν¬μ¬μ λ§λ€κ³ λͺ¨λ κ²μ ν΄μλ‘ μλ³ν©λλ€.
Gitμ λ°μ΄ν°λ₯Ό μΆκ°
Git
μΌλ‘ 무μμ νλ Git
λ°μ΄ν°λ² μ΄μ€μ λ°μ΄ν°κ° μΆκ°λ©λλ€. λλ리거λ λ°μ΄ν°λ₯Ό μμ ν λ°©λ²μ΄ μμ΅λλ€. Git
λ 컀λ°νμ§ μμΌλ©΄ λ³κ²½μ¬νμ μμ΄λ²λ¦΄ μ μμ΅λλ€. νμ§λ§ μΌλ¨ μ€λ
μ·μ 컀λ°νκ³ λλ©΄ λ°μ΄ν°λ₯Ό μμ΄λ²λ¦¬κΈ° μ΄λ ΅μ΅λλ€.
λ, Git
μ μ¬μ©νλ©΄ νλ‘μ νΈκ° μ¬κ°νκ² λ§κ°μ§ κ±±μ μμ΄ λ§€μ° μ¦κ²κ² μ¬λ¬ κ°μ§ μ€νμ ν΄λ³Ό μ μμ΅λλ€!
μΈ κ°μ§ μν
- μ΄ λΆλΆμ λ§€μ° μ€μνκΈ° λλ¬Έμ μ§μ€ν΄μ μ½μΌμ μΌ ν©λλ€ !
Git
μ νμΌμ Committed
, Modified
, Staged
μ΄λ κ² 3κ°μ§λ‘ μνλ₯Ό κ΄λ¦¬ν©λλ€.
Committed
: λ°μ΄ν°κ° λ‘컬 λ°μ΄ν° λ² μ΄μ€μ μμ νκ² μ μ₯λ μνModified
: μμ ν νμΌμ μμ§ λ‘컬 λ°μ΄ν° λ² μ΄μ€μ 컀λ°νμ§ μμ μνStaged
: νμ¬ μμ ν νμΌμ κ³§ 컀λ°ν κ² μ΄λΌλ μν
Git Directory(Repository)
νλ‘μ νΈμ λ©νλ°μ΄ν°μ κ°μ²΄ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ μ₯νλ κ³³μ λ§ν©λλ€. μ΄ Git Directory
κ° Git
μ ν΅μ¬μ
λλ€. λ€λ₯Έ μ»΄ν¨ν°μ μλ μ μ₯μλ₯Ό Clone
ν λ Git
λλ ν λ¦¬κ° λ§λ€μ΄μ§λλ€.
Working Directory
λ νλ‘μ νΈμ νΉμ λ²μ μ checkout
ν κ²μ
λλ€.
Staging Area
λ Git directory
μ μμ΅λλ€. λ¨μν νμΌμ΄κ³ κ³§ 컀λ°ν νμΌμ λν λ΄μ©μ μ μ₯ν©λλ€.
Git
μΌλ‘ νλ μΌμ κΈ°λ³Έμ μΌλ‘ μλμ κ°μ΅λλ€.
Working Directory
μμ νμΌμ μμ νλ€.Staging Area
μ μλ νμΌμStage
ν΄μ 컀λ°ν μ€λ μ·μ λ§λ λ€.Staging Area
μ μλ νμΌλ€μ 컀λ°ν΄μGit
λλ ν°λ¦¬μ μꡬμ μΈ μ€λ μ·μΌλ‘ μ μ₯ν©λλ€.
Git Directory
μ μλ νμΌλ€μ Committed
μνμ
λλ€. νμΌμ μμ νκ³ Staging Area
μ μΆκ°νλ€λ©΄ Staged
μ
λλ€. κ·Έλ¦¬κ³ Checkout
νκ³ μμ νμ§λ§, μμ§ Staging Area
μ μΆκ°νμ§ μμλ€λ©΄ Modified
μ
λλ€.
Git μ΅μ΄ μ€μ
Git
μ μ²μ μ€μΉνκ³ λλ©΄ Gitμ μ¬μ© νκ²½μ μ μ νκ² μ€μ ν΄μ£Όμ
μΌ ν©λλ€. ν λ²λ§ μ€μΉνλ©΄ λλ©° μ€μ ν λ΄μ©μ Git
μ΄ μ
κ·Έλ μ΄λν΄λ μ μ§κ° λ©λλ€.
git config
/etc/gitconfig
: μμ€ν μ λͺ¨λ μ¬μ©μμ λͺ¨λ μ μ₯μμ μ μ©λλ μ€μ μ λλ€.git config --system
μ΅μ μΌλ‘ μ΄ νμΌμ μ½κ³ μΈ μ μμ΅λλ€.~/.gitconfig
,~/.config/git/config
: νΉμ μ¬μ©μμκ²λ§ μ μ©λλ μ€μ μ λλ€.git config --global
μ΅μ μΌλ‘ μ΄ νμΌμ μ½κ³ μΈ μ μμ΅λλ€..git/cnofig
:Git Directory(Repository)
μ μκ³ νΉμ μ μ₯μ(νΉμ νμ¬ μμ μ€μΈ νλ‘μ νΈ)μλ§ μ μ©λ©λλ€.
μμ μ€μ μ 3->2->1 μμΌλ‘ μ°μ μ λ©λλ€.
μ¬μ©μ μ 보
Git
μ μ€μΉνκ³ λμ κ°μ₯ λ¨Όμ ν΄μΌνλ κ²μ μ¬μ©μ μ΄λ¦κ³Ό μ΄λ©μΌ μ£Όμλ₯Ό μ€μ νλ κ²μ
λλ€.
$ git config --global user.name "l2h"
$ git config --global user_email hosu4549@gmail.com
--global
μ΅μ
μΌλ‘ μ€μ νλ κ²μ λ± νλ²λ§ ν΄μ£Όμλ©΄ λ©λλ€! μ¦, ν΄λΉ μμ€ν
μμ ν΄λΉ μ¬μ©μκ° μ¬μ©ν λμλ μ΄ μ 보λ₯Ό μ¬μ©ν©λλ€. λ§μ½ νλ‘μ νΈλ§λ€ λ€λ₯Έ μ΄λ¦κ³Ό λ€λ₯Έ μ΄λ©μΌ μ£Όμλ₯Ό μ¬μ©νκ³ μΆμΌλ©΄ --global
μ΅μ
μ λΉΌκ³ λͺ
λ Ήμ μ€ννλ©΄ λ©λλ€.
μ€μ νμΈ
git config --list
λͺ
λ Ήμ μ€ννλ©΄ μ€μ ν λͺ¨λ λ΄μ©μ 보μ¬μ€λλ€.
$ git config --list