git(1) - git?π€
git
gitμ λΆμ°λ²μ κ΄λ¦¬μμ€ν μΌλ‘ μ½λμ λ²μ μ κ΄λ¦¬νλ λꡬλ€.
μ»΄ν¨ν° νμΌμ λ³κ²½μ¬νμ μΆμ νκ³ μ¬λ¬ μ¬μ©μλ€ κ°μ ν΄λΉ νμΌλ€μ μμ μ μ‘°μ¨νλ λͺ©μ μΌλ‘ μ¬μ©νλ€.
λΆμ°λ²μ κ΄λ¦¬μμ€ν (DVCS)μ μ격μ μ₯μλ₯Ό ν΅ν΄ νμ νκ³ λͺ¨λ νμ€ν 리λ₯Ό μ¬μ©μλ€μ΄ 곡μ νλ μμ€ν μ΄λ€.
κΈ°λ³Έ νλ¦
gitμ λ무μ λΉμ·νκ² κ°λ€. νλμ μμ (master)μμ λ 립μ μΌλ‘ μ΄λ€ μμ μ μ§ννκΈ° μν΄ κ°λλ₯Ό μμ±νλκ²μ λΈλμΉ(branch)λΌκ³ λΆλ₯΄λ©°, git μ κ΄λ¦¬λλ μμ€λ€μ μ‘°κΈ λ μ½κ² νμ©νκΈ° μν GUI ν΄μ μ΄λ¦μ sourcetreeλ€.
gitμ λ‘컬 μ μ₯μλ ν¬κ² 3κ°μ§λ‘ λλ μ Έμλλ°,
-
working directory μμ (μμ )ν νμΌμ
-
INDEX(staging area)μ λͺ¨μ(add),
-
λ²μ μΌλ‘ λ¨κΈ΄λ€(commit).
λͺ λ Ήμ΄
-
git init - μ μ₯μ λ§λ€κΈ°
$ git init
-
git μ μ₯μλ₯Ό μ²μ μμ±νλκ²(μ΄κΈ°ν). μ΄κΈ°νλ₯Ό μν€λ©΄ ν΄λΉ λλ ν 리λ₯Ό git μ μ₯μλ‘ λ±λ‘ν΄μ€λ€.
-
-
git add νμΌλͺ
$ git add .
-
working directory μμ λ³κ²½ λ΄μ©μ staging areaμ μΆκ°νκΈ° μν΄ μ¬μ©νλ λͺ λ Ήμ΄.
-
ν΄λ λ΄μ νμΌ μ 체λ₯Ό addνλ €λ©΄
.
μ μ λ ₯νλ©΄ λλ€.
-
-
git commit -m β컀λ°λ©μμ§β
$ git commit -m 'commitμ λλ€.'
-
stageμ λ±λ‘λ μνμ νμΌλ€μ 컀λ°μ ν΅ν΄ λ²μ μΌλ‘ κΈ°λ‘νλ λͺ λ Ήμ΄.
-
μ»€λ° λ©μμ§λ λ³κ²½ μ¬νμ μ μ μλλ‘ λͺ ννκ² μμ±νλκ²μ΄ μ’λ€.
-
-
git log
$ git log $ git log -1 $ git log --oneline $ git log -1 --oneline
-
μ μ₯μμ μ»€λ° νμ€ν 리λ₯Ό μ‘°ννκ² ν΄μ€λ€.
-
νΉλ³ν μ΅μ μμ΄ git log λͺ λ Ήμ μ€ννλ©΄ μ μ₯μμ μ»€λ° νμ€ν 리λ₯Ό μκ°μμΌλ‘ λνλΈλ€.
-
-1 μ μ΅κ·Ό ν κ°μ κ²°κ³Όλ§ λ³΄μ¬μ£Όλ μ΅μ μ΄λ€.
-
onelineμ κ²°κ³Όκ°μ ν μ€λ‘ λνλ΄λ μ΅μ μ΄λ€.
-
-
git status - νμ¬ μν νμΈ
$ git status
-
νμΌλ€μ μνλ₯Ό νμΈν μ μλ€.
-
μμ λλ ν 리(working directory)μ μ€ν μ΄μ§ μμ(staging area)μ μνλ₯Ό νμΈνκΈ° μν΄ μ¬μ©νλ€.
μμ
-
a.txt νμΌμ λ§λ μ§ν
$ git status On branch master # νΈλνΉμ΄ λκ³ μμ§ μμ νμΌ? # => working directory # => νλ²λ gitμΌλ‘ κ΄λ¦¬λκ³ μμ§ μμ νμΌ! Untracked files: (use "git add <file>..." to include in what will be committed) a.txt # 컀λ°ν κ²μ μμ΄ # νμ§λ§ νΈλνΉλμ§ μμ νμΌμ μ‘΄μ¬νλ€. # git add μ¬μ©ν΄μ νΈλνΉν΄ nothing added to commit but untracked files present (use "git add" to track)
-
b.txt νμΌμ λ§λ€κ³ addν μ΄ν
$ git stagus On branch master Changes to be Committed: (use "git restore --staged <file>..." to unstage) new file: b.txt Untracked files: (use "git add <file>..." to include in what will be committed) a.txt
-
a.txt νμΌκ³Ό b.txt νμΌμ λͺ¨λ addν μ΄ν 컀λ°κΉμ§
$ git status On branch master nothing to commit, working tree clean
-