일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- sql
- AI 5기
- WIL
- venv
- googlesheet
- iterable
- target
- 프로그래머스
- 가상환경
- itertools
- onClick
- with\
- googleappscript
- 함수성능평가
- cte
- time()
- 알고리즘
- position
- A태그
- gitignore
- Iterator
- Display
- 내일배움캠프
- AI
- 우선순위
- python
- Level1
- 함수실행시간
- vscode
- git #github #내일배움캠프
- Today
- Total
05의 개발 계발
[TIL] 230420 gitignore를 무시한 .vscode 폴더 issue (+원인파악완료) 본문
TIL 학습목표
- gitignore.io를 통해 .gitignore를 만들 수 있다.
- VScode에 대한 .gitignore 설정을 이해할 수 있다.
- .vscode 폴더가 github에 올라간 issue의 원인을 알고, 이를 방지하기 위해 필요한 것을 안다.
1) 문제점 (Problem)
github를 통해 팀프로젝트를 진행하던 중 어느샌가 .vscode 파일이 생겨버렸다.
그런데 레파지토리의 첫 커밋부터 gitignore를 추가 한 뒤 작업을 시작했기에,
vscode 관련 값들은 ignore(무시)되어 github에 올라가야 정상이었다.
원인을 찾지 못해 고생하였던 과정(Try)과,
끝내 양튜터님의 도움으로 파악할 수 있었던 원인(Solution)에 대해,
그리고 이를 방지하기 위한 방법(Learned)을 정리해보자.
2) 시도해본 것들 (Try)
▶commit 추적하기
해당 커밋으로부터 전후 커밋을 추적해보았다.
부모 커밋에서 vscode 폴더가 보이지 않은 것으로 보아, 최초 유입은 해당커밋(56f1092)이 확실하다.
하지만 여전히 원인을 모르겠다.
▶GPT 에게 물어보기
하지만 나의 경우는 시작부터 gitignore가 추가된 상태에서 작업을 시작했으므로 위와 같은 일이 발생할 가능성이 없다.
▶튜터님의 도움! (feat.양튜터님)
그저 빛..
알게된 것들을 해결에서 살펴보자
3) 해결 (Solution)
gitignore의 VScode에 관한 defalut 값 살펴보기!
# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode
# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode
### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide
# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode
gitignore 기본 셋팅 값 | 의미 | 이유 |
.vscode/* | .vscode 하위 파일을 모두 무시 | vscode에서 사용되는 불필요한 파일을 포함치 않도록 설정함 |
!.vscode/settings.json | .vscode 하위 파일 중에 settings.json은 예외처리 |
개발자의 개인적인 설정을 포함하고 있어, 다른 개발자와 공유하거나 협업하는 경우 해당 설정을 유지하고자 할 때를 고려함 |
!.vscode/tasks.json | .vscode 하위 파일 중에 tasks.json은 예외처리 |
프로젝트의 빌드, 배포, 테스트 등의 작업(Task) 설정을 포함하고 있어, 다른 개발자가 프로젝트를 빌드하거나 실행하는데 필요한 작업을 공유할 때를 고려함 |
!.vscode/launch.json | .vscode 하위 파일 중에 launch.json은 예외처리 |
디버깅(Debugging) 설정을 포함하고 있어, 프로젝트의 디버깅에 사용되는 구성을 공유하고자 할 때를 고려함 |
!.vscode/extensions.json | .vscode 하위 파일 중에 extensions.json은 예외처리 |
formatter와 같은 확장 기능을 다른 개발자와 공유하거나 협업하는 경우 해당 설정을 유지하고자 할 때를 고려함 |
!.vscode/*.code-snippets | .vscode 하위 파일 중에 code-snippets 확장자는 예외처리 |
사용자 지정 코드 스니펫(Code Snippet) 설정을 포함하고 있어, 프로젝트에서 사용하는 사용자 지정 코드 조각을 공유하고자 할 때를 고려함 |
gitignore.io에서 vscode에 관해 제공하는 ignore defalut 값은 위와 같다.
즉, 처음부터 !.vscode/settings.json 에 의해 settings.json이 생성된다면 commit 될 수 밖에 없는 구조였다!
그리고 팀원이 작업 도중 "unibeautify"라는 확장을 추가 설치했던 것이 확인되었다.
4) 알게 된 점 (Learned)
원인을 알았다면 훗날을 위한 대책을 세워야한다.
튜터님의 조언과 함께 현업 개발자들의 경우를 찾아
위와 같은 일이 생기지 않기 위한 방법을 정리해보았다.
- 코드컨벤션을 확실히 정한 뒤 준수하며 협업을 진행한다.
- formatter 사용제한규칙을 세우기 or 프로젝트에서 사용할 formatter 설정한다.
- git add 전 항상 git status로 변화를 확인한다.(의도치않은 변화가 발생했는지 확인)
- git add . 사용을 지양하고 git add <특정파일> 형태로 타겟팅하여 stage에 올리도록 한다.
깔끔한 github log는 제대로 짜여진 코드컨벤션과 개인의 노력으로 이루어진다.
코드컨벤션을 지정하지 않았던 부분과, 타겟팅하지 않고 add 하는 습관을 고치도록 하자!
'TIL' 카테고리의 다른 글
[TIL] 230424 DRF 세팅 (1) | 2023.04.24 |
---|---|
[TIL] 230421 실패율 | try-except , dict, sorted (0) | 2023.04.21 |
[TIL] 230419 coroutine & asyncio | pipenv & poetry (0) | 2023.04.20 |
[TIL] 230418 데이터 타입별 메서드 + 프로세스, 스레드 (0) | 2023.04.18 |
[TIL] 230417 회원가입 조건 세분화하기 | if (0) | 2023.04.18 |