저장을 습관화

230628 TIL 본문

공부/TIL

230628 TIL

ctrs 2023. 6. 28. 16:31

- warning: in the working copy of 'file.js', LF will be replaced by CRLF the next time Git touches it

코딩 작업 후 git add를 했더니 출력된 메세지

$ git add file.js
warning: in the working copy of 'routes/posts.js', LF will be replaced by CRLF the next time Git touches it

이게 뭔가 싶어 검색하니까

내가 add한 파일에 들어있는 줄바꿈 문자 LF를 git이 알아서 CRLF로 변환하여 관리하겠다는 의미이다.

LF는 macOS, Linux에서 사용되는 줄바꿈 문자이고, CRLF는 Windows에서 사용되는 줄바꿈 문자이다.

 

줄바꿈 문자가 바뀐다고 해서 코드 동작에 직접정인 영향을 주지는 않는다고 하지만

신경쓰여서 찝찝하다면 터미널에서 아래 명령어를 입력하여 줄바꿈문자가 바뀌지 않도록 할 수도 있다.

git config --global core.autocrlf input

그런데 난 Windows 환경인데 왜 저런 경고 메세지가 뜬걸까? 

팀장님이 배포한 .prettierrc 파일 내용 때문에 그런가? 했는데 그런것은 아니었고

// .prettierrc

{
  "bracketSpacing": true,
  "semi": true,
  "singleQuote": true,
  "tabWidth": 2,
  "trailingComma": "es5",
  "printWidth": 80,
  "arrowParens": "avoid",
  "endOfLine": "auto"
}

 

팀장님이 작업하던 환경이 macOS 였고, 내가 팀장님이 먼저 작업한 파일을 clone해서 가져왔기에 발생한 듯 하다.

 

 

[참고]

https://www.lesstif.com/gitbook/git-crlf-20776404.html

 

git 에서 CRLF 개행 문자 차이로 인한 문제 해결하기

 

www.lesstif.com

https://parkgaebung.tistory.com/70

 

Git auto CRLF설정

줄바꿈의 종류 - LF, CR, CRLF에서 이어집니다. Windows는 CRLF(\r\n), Linux는 LF(\n)을 개행문자로 사용한다. 개발자간 사용하는 OS가 다르거나, 서버와 로컬 OS가 다를 경우(=Cross Platform Project: 크로스 플랫

parkgaebung.tistory.com

 

- nodemon

express 작업 중 파일의 변경이 있었다면 그 결과를 확인하기 위해서

express의 실행 파일, 나의 경우 app.js를 재시작해주어야 한다.

 

매번 일일히 껐다켜주기 귀찮다면

nodemon을 설치하고

$ npm install nodemon

 

package.json 파일의 "scripts" 단을 찾아 아래와 같이 작성한다.

"scripts": {
    "start": "nodemon app.js"
  },

 

이후 터미널에서 npm start를 입력해주면

npm start

 

app.js가 실행되며

app.js가 보고 있는 파일들에서 변경사항이 생긴다면 자동으로 재시작한다.

 

 

- .env

환경 변수 관리 용 라이브러리

config.json에는 사용자의 ID와 패스워드, 그리고 호스트 등 mysql DB에 접속하는데 필요한 정보가 들어가는데

이 내용을 공개된 장소에 업로드하면 해킹 등 사고의 위험이 있다. 

이를 방지하기 위하여 사용한다.

npm install dotenv

 

.env 파일을 생성하고 DB 정보를 입력한 뒤

DBUSERNAME=(censored)
PASSWORD=(censored)
DATABASE=(censored)
HOST=(censored)
DIALECT=mysql
NODEMAILER_USER=(censored)
NODEMAILER_PASS=(censored)
SECRET_KEY=(censored)

 

config.json 상단에 아래와 같이 입력해주면 된다.

require('dotenv').config();

module.exports = {
  development: {
    username: process.env.DBUSERNAME,
    password: process.env.PASSWORD,
    database: process.env.DATABASE,
    host: process.env.HOST,
    dialect: process.env.DIALECT,
  },
  ...(생략)

[참조]

https://www.daleseo.com/js-dotenv/

 

dotenv로 환경 변수를 .env 파일로 관리하기

Engineering Blog by Dale Seo

www.daleseo.com

'공부 > TIL' 카테고리의 다른 글

230704 TIL  (0) 2023.07.04
230629 TIL  (0) 2023.06.29
230621 TIL  (0) 2023.06.22
230621 TIL  (0) 2023.06.21
230618 TIL  (0) 2023.06.18