๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿคท๐Ÿผ‍โ™€๏ธ Etc.../- 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 ํ™•์žฅ์ž ํŒŒ์ผ๋งŒ ์ •์ƒ์ ์œผ๋กœ ์ž˜ ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋œ๋‹ค.

๋Œ“๊ธ€