λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸŽ› Others.../- old dev log

[github] .gitignore 파일둜 νŠΉμ • 포맷의 파일 λ¬΄μ‹œν•˜κΈ°

by Wonit 2021. 7. 16.

 

μš°λ¦¬κ°€ Version Controll 을 μœ„ν•΄μ„œ git 을 μ‚¬μš©ν•˜κ³  git hosting 으둜 github λ₯Ό μ‚¬μš©ν•˜λ©΄ λ³΄μ•ˆμ μœΌλ‘œλ‚˜ 개인적으둜 μ˜¬λΌκ°€λ©΄ μ•ˆλ˜λŠ” νŒŒμΌλ“€μ΄ μ‘΄μž¬ν•œλ‹€.

 

이λ₯Όν…Œλ©΄ κ°„λ‹¨ν•œ key νŒŒμΌμ΄λΌλ˜μ§€, 개인적인 정보가 λ‹΄κΈ΄ data νŒŒμΌμ΄λΌλ˜μ§€ ν˜Ήμ€ test λ₯Ό μœ„ν•΄ build λ₯Ό ν•˜λŠ” build νŒŒμΌμ΄λΌλ˜μ§€..

 

μ΄λ ‡κ²Œ μ›μΉ˜ μ•ŠλŠ” νŒŒμΌμ„ git 에 μ˜¬λ¦¬λŠ” λ°©λ²•μ—λŠ” μ—¬λŸ¬ 방법이 μžˆμ§€λ§Œ μ˜€λŠ˜μ€ .gitignore μ΄λΌλŠ” νŒŒμΌμ„ μ΄μš©ν•˜λŠ” 방법에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄λ„λ‘ ν•˜μž

 

.gitignore μ΄λž€?

 

.gitignore 은

 

ν”„λ‘œμ νŠΈ Repository 에 μ›μΉ˜ μ•ŠλŠ” file 및 데이터λ₯Ό git μ—μ„œ μ œμ™Έμ‹œν‚€λŠ” 섀정이 λ‹΄κΈ΄ νŒŒμΌμ„ μ˜λ―Έν•œλ‹€.

 

μš°λ¦¬κ°€ Springboot 둜 ν”„λ‘œμ νŠΈλ₯Ό μƒμ„±ν•˜λ©΄ μžλ™μœΌλ‘œ μƒκΈ°λŠ” .gitignore μ΄λΌλŠ” 파일이 μžλ™μœΌλ‘œ μƒμ„±λœλ‹€.

 

 

그리고 μ„ΈλΆ€ λ‚΄μš©μ€ λ‹€μŒκ³Ό 같은데,

 

 

μ΄λŠ” Spring Boot 둜 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λΉŒλ“œν•  λ•Œ μƒμ„±λ˜λŠ” .out 디렉토리에 λ‹΄κΈ°λŠ” λ‚΄μš©μ΄ λ„ˆλ¬΄ λ§Žμ•„μ Έμ„œ git 에 올라갈 ν•„μš”κ°€ μ—†κΈ° λ•Œλ¬Έμ΄λ‹€.

 

이와 λ§ˆμ°¬κ°€μ§€λ‘œ μš°λ¦¬λŠ” github 에 build ν•˜λŠ” target νŒŒμΌλ“€μ„ 올릴 ν•„μš”κ°€ μ—†λ‹€.

 

.gitignore 파일 생성 κ·œμΉ™ 및 문법

 

.gitignore νŒŒμΌμ€ 항상 ν”„λ‘œμ νŠΈ λ£¨νŠΈμ— μœ„μΉ˜ν•΄μ•Ό ν•œλ‹€

 

# : 주석

*.a # ν™•μž₯μžκ°€ .a 인 λͺ¨λ“  νŒŒμΌμ„ μ œμ™Έν•œλ‹€.

!lib.a # *.a 둜 ν™•μž₯자 .a λ₯Ό λͺ¨λ‘ exclude μ‹œμΌ°μ§€λ§Œ κΌ­ μ˜¬λΌκ°€μ•Ό ν•  .a νŒŒμΌμ€ μΆ”κ°€ν•œλ‹€

build/ # build 디렉토리에 μžˆλŠ” λͺ¨λ“  νŒŒμΌμ„ μ œμ™Έμ‹œν‚¨λ‹€

doc/*.md # doc 디렉토리 μ•„λ ˆμ— μžˆλŠ” *.md ν™•μž₯자 νŒŒμΌμ„ exclude ν•œλ‹€

 

μ‹€μ œλ‘œ μ μš©ν•˜κΈ°

 

μ‹€μ œλ‘œ BoB 과제인 add-nbo μ†ŒμŠ€ μ½”λ“œλ₯Ό github 에 μ €μž₯ν•˜λŠ” 과정을 보이도둝 ν•˜κ² λ‹€.

 

ν•΄λ‹Ή 둜컬 λ ˆν¬μ§€ν† λ¦¬μ—λŠ” λ‹€μŒκ³Ό 같은 ꡬ쑰둜 νŒŒμΌλ“€μ΄ μ‘΄μž¬ν•˜κ³ , ν•΄λ‹Ή νŒŒμΌμ„ BoB-Assignments / add-nbo λ ˆν¬μ§€ν† λ¦¬ 에 올리렀 ν•œλ‹€.

 

$ tree
.
└── add-nbo
    β”œβ”€β”€ main.c
    β”œβ”€β”€ file_util.h
    β”œβ”€β”€ file_util.c
    └── Makefile

 

λ¦¬λˆ…μŠ€ λΉŒλ“œ 도ꡬ인 Makefile μ—μ„œ λΉŒλ“œλ₯Ό μˆ˜ν–‰ν•˜λ©΄ 2 개의 Object file 을 μƒμ„±ν•œλ‹€.

 

  • file_util.o
  • main.o
$ ls

main.c   main.o   file_util.h   file_util.c   file_util.o

 

μ΄λŸ¬ν•œ 였브젝트 νŒŒμΌμ€ github 에 올릴 ν•„μš”κ°€ μ—†μœΌλ―€λ‘œ μ•„λž˜μ™€ 같이 .gitignore νŒŒμΌμ„ μƒμ„±ν•œλ‹€.

 

# .gitignore

### object 파일 λ¬΄μ‹œ
*.o

 

그리고 git add, commit, push λ₯Ό ν•΄μ„œ 원격 λ ˆν¬μ§€ν† λ¦¬μ— 올렀보면, 

 

 

그럼 build λ₯Ό ν•˜λ”λΌλ„ Object νŒŒμΌμ€ λͺ¨λ‘ λ¬΄μ‹œλ˜κ³ , c와 h ν™•μž₯자 파일만 μ •μƒμ μœΌλ‘œ 잘 μ˜¬λΌκ°€κ²Œ λœλ‹€.

λŒ“κΈ€