[1] .gitignore
νΉμ νμΌ νΉμ ν΄λμ λν΄ Gitμ΄ λ²μ κ΄λ¦¬λ₯Ό νμ§ λͺ»νλλ‘ μ§μ νλ κ²
(1) .gitignoreμ μμ±νλ λͺ©λ‘
β’
λ―Όκ°ν κ°μΈ μ λ³΄κ° λ΄κΈ΄ νμΌ (μ νλ²νΈ, κ³μ’λ²νΈ, κ°μ’
λΉλ°λ²νΈ, API KEY λ±)
β’
OS(μ΄μ체μ )μμ νμ©λλ νμΌ
β’
IDE(ν΅ν© κ°λ° νκ²½ - pycharm) νΉμ Text editor(vscode) λ±μμ νμ©λλ νμΌ
β¦
μ) pycharm -> .idea/
β’
κ°λ° μΈμ΄(python) νΉμ νλ μμν¬(django)μμ μ¬μ©λλ νμΌ
β¦
κ°μ νκ²½ :Β venv/
β¦
__pycache__/
(2) .gitignore μμ± μ μ£Όμ μ¬ν
β’
λ°λμ μ΄λ¦μ .gitignoreλ‘ μμ±ν©λλ€. μμ μ (.)μ μ¨κΉ νμΌμ΄λΌλ λ»μ
λλ€.
β’
.gitignore νμΌμ .git ν΄λμ λμΌν μμΉμ μμ±ν©λλ€.
β’
μ μΈ νκ³ μΆμ νμΌμ λ°λμ git add μ μ .gitignoreμ μμ±ν©λλ€.
μ git add μ μ .gitignoreμ μμ±ν΄μΌ ν κΉμ?
git add a.txt λΌκ³ μμ±νλ©΄, μ΄μ Gitμ a.txtλ₯Ό λ²μ κ΄λ¦¬μ λμμΌλ‘ μ¬κΉλλ€.
ν λ² λ²μ κ΄λ¦¬μ λμμ΄ λ a.txtλ μ΄νμ .gitignoreμ μμ±νλλΌλ
무μλμ§ μκ³ κ³μ λ²μ κ΄λ¦¬μ λμμΌλ‘ μΈμλ©λλ€.
λ°λΌμ μ μΈ νκ³ μΆμ νμΌμ λ°λμ git add μ μ .gitignoreμ μμ±ν΄μΌ ν©λλ€!
(3) .gitignore μ½κ² μμ±νκΈ°
.gitignoreμ λ΄μ©μ μ½κ² μμ±ν μ μλλ‘ λμμ£Όλ λ κ°μ μ¬μ΄νΈλ₯Ό μκ°ν©λλ€.
μμ μ κ°λ° νκ²½μ λ§λ κ²μ μ°Ύμμ μ 체 볡μ¬, λΆμ¬λ£κΈ°λ₯Ό νλ©΄ λ©λλ€.
1.
μΉμ¬μ΄νΈ
2.
gitignore μ μ₯μ
3.
Pythonμ λν .gitignore μμ
μμ κ°μ Έμ΄
[2] μ¬ν
.gitignoreμ λν΄ μ‘°κΈ λ μμλ΄
λλ€.
(1) .gitignore ν¨ν΄ κ·μΉ
1.
μ무κ²λ μλ λΌμΈμ΄λ, #λ‘ μμνλ λΌμΈμ 무μν©λλ€.
2.
μ¬λμ(/)λ‘ μμνλ©΄ νμ λλ ν°λ¦¬μ μ¬κ·μ μΌλ‘ μ μ©λμ§ μμ΅λλ€.
3.
λλ ν°λ¦¬λ μ¬λμ(/)λ₯Ό λμ μ¬μ©νλ κ²μΌλ‘ ννν©λλ€.
4.
λλν(!)λ‘ μμνλ ν¨ν΄μ νμΌμ ignore(무μ)νμ§ μμ΅λλ€.
5.
νμ€ Glob ν¨ν΄μ μ¬μ©ν©λλ€.
β’
*(asterisk)λ λ¬Έμκ° νλλ μκ±°λ νλ μ΄μμ μλ―Έν©λλ€.
β’
[abc]λ μ€κ΄νΈ μμ μλ λ¬Έμ μ€ νλλ₯Ό μλ―Έν©λλ€.
β’
λ¬Όμν(?)λ λ¬Έμ νλλ₯Ό μλ―Έν©λλ€.
β’
[0-9]μ²λΌ μ€κ΄νΈ μμ νμ΄ν(-)μ΄ μλ κ²½μ° 0μμ 9μ¬μ΄μ λ¬Έμ μ€ νλλ₯Ό μλ―Έν©λλ€.
β’
**(2κ°μ asterisk)λ λλ ν°λ¦¬ λ΄λΆμ λλ ν°λ¦¬κΉμ§ μ§μ ν μ μμ΅λλ€.
(a/**/zλΌκ³ μμ±νλ©΄ a/z, a/b/z, a/b/c/z κΉμ§ λͺ¨λ μν₯μ λΌμΉ©λλ€.)
(2) ν¨ν΄ μμ
# .gitignore
# νμ₯μκ° txtμΈ νμΌ λ¬΄μ
*.txt
# νμ¬ νμ₯μκ° txtμΈ νμΌμ΄ 무μλμ§λ§, λλνλ₯Ό μ¬μ©νμ¬ test.txtλ 무μνμ§ μμ
!test.txt
# νμ¬ λλ ν°λ¦¬μ μλ TODO νμΌμ 무μνκ³ , folder/TODO μ²λΌ νμ λλ ν°λ¦¬μ μλ νμΌμ 무μνμ§ μμ
/TODO
# build/ λλ ν°λ¦¬μ μλ λͺ¨λ νμΌμ 무μ
build/
# folder/notes.txt νμΌμ 무μνκ³ folder/child/arch.txt νμΌμ 무μνμ§ μμ
folder/*.txt
# folder λλ ν°λ¦¬ μλμ λͺ¨λ .pdf νμΌμ 무μ
folder/**/*.pdf
Shell
볡μ¬