Skip to content

Latest commit

Β 

History

History
95 lines (56 loc) Β· 3.16 KB

File metadata and controls

95 lines (56 loc) Β· 3.16 KB

Gitignore

.gitignore μ΄λž€?

Github에 νŒŒμΌμ„ μ—…λ‘œλ“œ ν•˜λ‹€λ³΄λ©΄ μ œμ™Έν•΄μ•Ό ν•  νŒŒμΌλ“€μ΄ μƒκΈ°λŠ” 상황이 μžˆλ‹€.

예λ₯Ό λ“€μ–΄ μš©λŸ‰μ΄ λ„ˆλ¬΄ ν¬κ±°λ‚˜, λ‚΄ 둜컬 개발 ν™˜κ²½μ— 쒅속적인 파일이 μžˆμ„ λ•Œ ν˜Ήμ€ λ³΄μ•ˆμ΄ μ€‘μš”ν•œ 경우일 λ•Œ 말이닀.

이 λ•Œ μš°λ¦¬λŠ” .gitignore νŒŒμΌμ„ μƒμ„±ν•΄μ„œ Github에 μ—…λ‘œλ“œ ν•˜μ§€ μ•Šμ„ νŒŒμΌλ“€μ„ μ§€μ •ν•  수 μžˆλ‹€.

μ–΄λ–€ 것을 μ»€λ°‹λŒ€μƒμ—μ„œ μ œμ™Έμ‹œμΌœμ•Ό ν•  μ§€ κΆκΈˆν•˜λ‹€λ©΄ κΉƒν—ˆλΈŒ 곡식 λ¬Έμ„œλ₯Ό μ°Έκ³ ν•˜μž !


κ·Έλ ‡λ‹€λ©΄ .gitignore λ””λ ‰ν† λ¦¬λŠ” 어디에 생성해야 ν•˜λŠ”κ°€?

.gitignore νŒŒμΌμ€ .git 폴더와 같은 κ²½λ‘œμ— μžˆμ–΄μ•Ό ν•œλ‹€.

즉, 항상 ν•΄λ‹Ή ν”„λ‘œμ νŠΈμ˜ μ΅œμƒμœ„ 폴더에 μžˆμ–΄μ•Ό ν•œλ‹€.


μ–΄λ–»κ²Œ λ§Œλ“œλŠ”κ°€?

  • ν•΄μ‹œ(#)λŠ” 주석역할이닀.

  • ν‘œμ€€ Glob νŒ¨ν„΄μ„ μ‚¬μš©ν•œλ‹€.

  • μŠ¬λž˜μ‹œ(/)둜 μ‹œμž‘ν•˜λ©΄ ν•˜μœ„ 디렉토리에 μ μš©λ˜μ§€ μ•ŠλŠ”λ‹€.

    /TODO # ν˜„μž¬ 폴더 μ€‘μ—μ„œ TODO 폴더에 μžˆλŠ” λͺ¨λ“  νŒŒμΌμ„ ignore
    
  • λ””λ ‰ν† λ¦¬λŠ” μŠ¬λž˜μ‹œ(/)λ₯Ό 끝에 μ‚¬μš©ν•˜λŠ” κ²ƒμœΌλ‘œ ν‘œν˜„ν•œλ‹€.

    TODO/ # ν”„λ‘œμ νŠΈ 전체 폴더 쀑 TODOλΌλŠ” 폴더λͺ…을 μ‚¬μš©ν•˜λŠ” TODO ν΄λ”μ˜ ν•˜μœ„ νŒŒμΌμ€ λͺ¨λ‘ λ¬΄μ‹œ
    
    doc/*.txt # doc 폴더 λ°”λ‘œ 밑에 μžˆλŠ” 파일 쀑 λͺ¨λ“  txt 파일 ignore
    
    doc/**/*.pdf # doc 폴더 ν•˜μœ„μ— μžˆλŠ” λͺ¨λ“  pdf 파일 ignore
    
  • λŠλ‚Œν‘œ(!)둜 μ‹œμž‘ν•˜λŠ” νŒ¨ν„΄μ˜ νŒŒμΌμ€ μ˜ˆμ™Έ 처리둜 ν•˜κ³  λ¬΄μ‹œν•˜μ§€ μ•ŠλŠ”λ‹€.

    • 단, ν•œ 번 μ œμ™Έλœ 폴더 λ‚΄μ˜ νŒŒμΌλ“€μ€ λ‹€μ‹œ μΆ”κ°€ν•  수 μ—†λ‹€.
    !lib.a # λ¬΄μ‹œν•˜λŠ” λͺ¨λ“  ν™•μž₯자 .a νŒŒμΌλ“€ μ€‘μ—μ„œ lib.a νŒŒμΌμ€ λ¬΄μ‹œν•˜μ§€ μ•ŠμŒ
    

μžλ™μœΌλ‘œ μ°Ύμ•„μ„œ λ„£κ³  싢을 λ•Œ

직접 좔가해도 되고 λ‚΄μš©μ„ μžλ™μ μœΌλ‘œ μƒμ„±ν•˜κ³  μ‹Άλ‹€λ©΄ 이 μ‚¬μ΄νŠΈμ— ν‚€μ›Œλ“œλ₯Ό κ²€μƒ‰ν•΄λ³΄μž.

보톡 .project ν˜Ήμ€ .classpath ν˜Ήμ€ .settings/ 등이 λ‚˜μ˜¨λ‹€.


.gitignoreκ°€ μ μš©λ˜μ§€ μ•Šμ„ λ•Œ

.gitignoreκ°€ μ œλŒ€λ‘œ μ μš©λ˜μ§€ μ•Šμ„λ•Œλ„ μΊμ‹œκ°€ 문제일 ν™•λ₯ μ΄ λ†’λ‹€.

이럴 땐 μΊμ‹œ λ‚΄μš©μ„ μ „λΆ€ μ‚­μ œ ν›„ λ‹€μ‹œ add all ν•˜κ³  μ»€λ°‹ν•˜λ©΄ λœλ‹€

μ΄λ ‡κ²Œμš”

$ git rm -r --cached
$ git add .
$ git commit -m "git ignore add"
$ git push

.gitignore λͺ©λ‘μ— μžˆμ–΄λ„ μΆ”κ°€ ν•˜κ³  싢을 λ•Œ?

μš°λ¦¬λŠ” μ•žμ„œ .gitignore νŒŒμΌμ„ μ΅œμƒλ‹¨μœΌλ‘œ μ§€μ •ν•˜μ˜€κΈ° λ•Œλ¬Έμ— ν•˜μœ„ 폴더에도 μžλ™μ μœΌλ‘œ 적용이 λœλ‹€.

κ·ΈλŸ¬λ‚˜ νŠΉμ • ν•˜μœ„ ν΄λ”μ—μ„œλŠ” λ‹€λ₯Έ ignore 정책을 μ μš©ν•˜κ³  싢을 μˆ˜λ„ μžˆλ‹€.

κ·Έ λ•ŒλŠ” ν•΄λ‹Ή 폴더에 λ‹€μ‹œ .gitignore νŒŒμΌμ„ λ§Œλ“€λ©΄ μƒμœ„ μ •μ±…κ³Ό λ‹€λ₯΄κ²Œ λ§Œλ“€ 수 μžˆλ‹€.

κ·Έλƒ₯ λ°”λ‘œ μΆ”κ°€ν•˜κ³  μ‹Άμ„λ•ŒλŠ” add ν• λ•Œ -f(force) μ˜΅μ…˜μ„ μ‚¬μš©ν•΄μ„œ κ°•μ œλ‘œ μΆ”κ°€ν•  μˆ˜λ„ μžˆλ‹€.



참고 자료

Git(8) .gitignore μ΄λž€

[git] .gitignoreκ°€ μ μš©λ˜μ§€ μ•Šμ„ λ•Œ(git μΊμ‹œ μ‚­μ œν•˜κΈ°)