Nginx 웹서버에 ssl을 연결하는 것을 시도하다가 에러를 만났다.

나중을 위해 오답노트를 작성해본다.

 

기존에 Certbot이라는 무료 인증서를 사용했지만 해당 인증서는 3개월마다 갱신해야하는 수고로움이 있었다.

자동화하는 방법도 있지만, 자동화하지 않고 3개월에 한 번씩 갱신을 했었는데,

 

해당 사이트를 위해 카페24에서 인증서를 구매했다는 사실을 최근에 알게되었다.

유료 인증서를 연결해보기로 했다.

우측 상단에  나의서비스관리 를 클릭하고

탭에서 인증서관리를 선택하면 인증서를 다운로드 받을 수 있었다.

아파치 웹서버는 아니지만, 상관없다.

개인키, 인증서, 중개자인증서, 체인인증서 이렇게 4개의 파일을 다운로드 받을 수 있다.

처음에는 4개 파일 모두 파일 다운로드 받아야한다고 생각했는데

개인키와 인증서 2개의 파일만 다운로드 받으면 된다~!

 

해당 파일을 다운로드 받고, FTP를 활용해서 서버로 옮겼다.

서버에서 적당한 위치에 인증서를 옮기고,

 

docker bind volume을 활용해서 Nginx 콘테이너까지 전달했다.

 

그런데, 계속 비밀키가 맞지 않다는 에러가 나는 것이다.

PEM_read_bio_PrivateKey() failed

 

나의 사수인 ChatGPT에게 물어봤고, SSL key에 암호화된 것을 풀면 된다는 솔루션을 알려줬다.

openssl rsa -in <key_file_path> -out <out_path>

rsa 방식으로 암호화 해지를 진행하니 비밀번호를 입력하라고 나오는 것이다.

 

처음에는 cafe24에 seal code라는게 있어서 그것을 해봤지만, 안되었고

cafe24 로그인할 때 사용했던 비밀번호를 입력하니 복호화가 되었다.

 

해당 파일을 다시 Nginx로 전달하니 드디어 성공할 수 있었다~!!

 

오늘도 하나 배웠당. 굳

2023년 8월 23일부터 25일까지 부산 코모도호텔에서 SW테스트 경진대회에 참가하고 장려상을 수상했다.


대회 당일, 아침부터 순천에서 부산으로 이동하게 되었다.

팀원을 픽업하고 부산으로 이동하면서, 대회에서 어떻게 해야할지 이야기를 나눴다.

운전을 하고 올라가면서 어떻게 효율적으로 테스트할 수 있을지 고민한 시간이 있어서 다행이다.

부산에 도착해서 부산의 명물인 밀면을 점심 메뉴로 선택했다.

많은 사람들이 줄을 서서 식사하는 모습을 보고 맛집의 기운을 느낄 수 있었다.


점심 식사 후, 부산 코모도 호텔로 이동했다. 

도착하여 접수를 한 후, 곧 있을 대회를 준비했다. 호남권으로 참가한 우리팀은 노란 티셔츠로 환복했다.

처음이라 떨리고 다소 긴장한 모습으로 입장 전 대기를 하고 있다.


첫번째로 테스트할 SW는 "Lingory" 라는 한국어 학습 어플리케이션이었다.

안드로이드 환경과 아이폰 환경에서 모두 테스트를 진행하고, 결함보고서를 작성하게 되었다.

팀원과 처음 호흡을 맞춰 작업하면서 당황도 많이 했고, 속도도 늦었다.

철저하게 더 연습했더라면, 더 좋은 성적을 낼 수 있었을 텐데라는 아쉬움이 남았다.

대회가 네트워크 문제로 1시간 딜레이되면서 밤 11시가 되서야 종료되었다.

호텔룸으로 복귀하여 어떤 부분에서 문제였는지 서로에게 피드백을 주고, 반성하는 시간을 가졌다.

중간중간 간식들과 주어지는 식사들이 아주 만족스러웠고, 호텔 시설과 서비스가 좋아서 편하게 휴식할 수 있었다.


둘째날 아침을 먹고, 대회장에 입성하게 되었다.

두번째로 테스트하는 소프트웨어는 "Beluv" 유아 용품 성분 분석 서비스와 육아 관련 콘텐츠 및 온라인 쇼핑몰이었다.

이미 서비스를 유지하고 투자까지 받은 서비스라서 그런지 정말 다양한 기능들이 있었고, 아이폰 환경은 테스트 안하고 안드로이드 환경만 테스트하는데도 시간이 모자를 정도로 기능들이 많았다.

이번 AI 기술들이 도입되면서 테스트를 전체적으로 진행하는 것 같았다.

첫째 날보다는 훨씬 작업하는 것이 수월했다. 전날 피드백을 바탕으로 작업과정을 더 효율적으로 수정했고, 캡쳐한 사진에서 어떤 부분이 잘못되었는지 마킹까지 하면서 디테일을 살렸다.

대회를 종료하면서, 첫째날과 둘째날 결함보고서를 상당한 내용으로 작성했다고 자체적으로 평가했다.


일단 이렇게 대회를 마치고 나서, 부산에서의 자유 시간이 주어졌다.

호텔에서 저녁 식사를 먼저 하고, 잠시 휴식을 취하다가 부산까지 와서 부산 음식을 안 먹어 볼 수 없었기 때문에 몸은 지쳤지만 밖으로 나갔다.

대회의 아쉬웠던 점과 결과가 어떻게 나올지 기대하는 마음으로 부산의 밤을 즐겼다.

부산의 포장마차에서 내리는 비를 보면서 꼬물꼬물 산낙지를 먹었다.


셋째 날, 강연을 듣고, 각 권역별로 레크레이션을 진행했다.

호남권역 인재들이 센스있게 잘 해줘서 재미있게 참여했고, 대회 스태프분들이 마지막 게임에서 정말 잘해주셔서 운이 좋게도 호남권에서 상품을 추가로 받을 수 있었다. 감사합니다~!!


이어서 시상식이 진행되었다.

상을 못받는 것은 아닌지 걱정을 많이 했다. 다행히도 장려상을 수상할 수 있었다.

장려상을 받았다는 건 순위상으로 전체 80개팀에서 10등 안에는 들었다라는 것이고, 처음 출전한 대회이지만 수상하게 되어 신나는 마음으로 시상대로 나갔다.


 

[회고]

- 테스트 경진대회는 고도의 집중력과 체력을 요구한다. 장시간 동안 몰두할 수 있는 힘이 있어야 한다. 물론 중간중간 쉴 수도 있었겠지만, 경진대회 진행 중에는 거의 쉬지 않고 몰두하게 되었다.

- 우리 팀의 테스트는 단순하고 1차원적인 테스트였던 점이 아쉽다. 철저히 사용자 위주의 테스트였다.

- 버튼을 클릭하고, 기능이 잘 구현되는지를 확인하는 것만으로도 시간이 부족했다.

- 다른 우수팀들은 어떻게 테스트를 하는지 궁금해졌다.

- 보안적인 이슈를 잡는다거나 테스트 결함 보고서를 작성하는 스킬이나 아쉬움이 남는다.

- 우리팀은 준비를 철저히 했다.

- 블루투스 키보드를 챙겨가서 휴대폰과 연결하고, 테스트를 더욱 수월하게 할 수 있었다.

- 클라우드를 활용해서 휴대폰 캡쳐가 되자마자 노트북으로 백업하여 에러 코드와 캡쳐 사진을 잘 관리할 수 있었다.

- 이런 테스트 대회를 진행하면서 고퀄리티의 인력으로 정밀 테스트를 받을 수 있다는 것이 놀라웠다. 언젠간 내가 만든 소프트웨어도 이런 대회나 전문가들에게 테스트를 받아볼 날이 오지 않을까라는 생각을 했다.

기회가 된다면, 다음에는 더 철저히 준비해서 다시 한 번 참가해보고 싶다!

준비해주신 스탭분들과 관계자분들 정말 감사드립니다. 좋은 경험으로 한층 성장할 수 있었습니다!!

전체 PDF 자료!

 

개발환경 세팅(WSL CUDA 설치).pdf
1.34MB

 

1. 문제의 발단

 

- 기존 프로젝트 개발을 클라우드 서버에서 Linux OS로 개발
- CUDA가 세팅 되어있는 가상 환경을 받아서 사용
- 개발 환경 세팅의 어려움없이 이용
- Windows OS PC에서 개발환경 설정 → 경로 오류 발생으로 개발 지연 발생

 

2. 사용된 하드웨어 스펙

- CPU: Intel i9-10850K
- GPU: NVIDIA GeForce RTX 3090
 

3. 문제해결을 위한 고민

- Windows OS에서도 동작 가능하도록 경로를 모두 수정하는 방법

- Linux OS의 가상머신(Virtual Machine)을 구축하는 방법

- WSL을 활용하여 Windows에서 Linux환경을 구축하는 방법

 

4. 문제해결 방법 선택

1. Windows OS에서도 동작 가능하도록 경로를 모두 수정하는 방법

 => 하드코딩 되어있는 부분이 많아 경로를 수정하는데 시간이 많이 소요

2. Linux OS의 가상머신(Virtual Machine)을 구축하는 방법

 => 가상머신 프로그램에서 Computing Cost가 과다하게 발생할 것으로 예상

3. WSL을 활용하여 Windows에서 Linux환경을 구축하는 방법

 => CUDA를 잘 설치할 수 있을까? 의문이 들었지만, 시도해보기로 결정!

5. WSL 설치 에러

- PowerShell에서  wsl --install” 하면 설치가 됩니다!
- WSL (Windows Subsystem for Linux) 설치 오류 발생 !
- Error: 0x80370102 필요한 기능이 설치되어 있지 않아 가상 머신을 시작할 수 없습니다.
[참고URL]

- 설치 하는 중 에러가 발생한다면 확인해야 할 것들!
- BIOS에서 가상화가 사용되고 있는지 확인
-BIOS에서 가상화가 사용되고 있는지 확인(추가 예시)
 
-SVM Mode 활성화로 변경 필요!
 

 

6. WSL 전용 그래픽 드라이버 설치

- Windows의 하위 시스템이므로 Windows에 설치된 그래픽 드라이버를 사용할 수 있을 줄 알았지만, 그것은 역시나 착각
- WSL 전용 그래픽 드라이버 설치 필요!!
[설치 링크]

8. GPU 인식 실패

- WSL 전용 그래픽 드라이버와, WSL 전용 CUDA를 설치 했지만,
 
- 매뉴얼대로 설정했으나, 그래픽 카드가 인식 실패?
 
- 아무리 해도 안 돼서 쉴 겸..

- 로스트아크 실행해보니, 렉이 발생하는 것을 확인
- 컴퓨터 사양에 렉이 걸리는 것에 이상함 감지!
- 장치 관리자 디스플레이 어댑터 목록에 외장 그래픽 카드가 표시되지만 설정이 안 되는 것을 확인!
-본체 뒷면을 확인해보니, 모니터 선이 내장 그래픽 포트에 연결된 것을 확인!
-외장 그래픽 포트에 연결하니 정상적으로 작동!!

 

9. torch.cuda.fail, nvidia-smi 명령어 안됨 현상

- 이제는 될 때가 되지 않았니??
- 여전히 torch.cuda.fail, nvidia-smi 안됨 현상
- 에러 메시지

 

[폭풍 구글링 후 참고 링크]
-https://pbsquid.tistory.com/entry/WSL-Cuda-WSL-환경에서-실행하기-1-WSL에서-Cuda-사용
 

[WSL] Cuda WSL 환경에서 실행하기-3 : WSL에서 Cuda 사용

1. Nvidia Container Toolkit 설치 우분투에서 아래명령어 차래대로 실행 distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add..

pbsquid.tistory.com

- Windows 업데이트가 필요하다!
- 업데이트 링크[웹에서 최신 업데이트가 필요합니다. 해당 링크를 활용하세요!]
 

Windows 10 다운로드

Windows 10용 ISO 파일을 다운로드한 경우, 해당 파일은 선택한 위치에 로컬로 저장됩니다.컴퓨터에 타사 DVD 굽기 프로그램이 설치되어 있으며 해당 프로그램을 사용하여 설치 DVD를 만들려는 경우,

www.microsoft.com

 

10. torch.cuda.is_available() == True

-드디어 True!!
-느낀점

이렇게 다양한 에러를 경험했지만 끝까지 포기하지 않고 목표를 달성했습니다.

디버깅 과정을 상세히 기록하여 다음에도 활용할 수 있도록 했으며,

해당 문서가 다른 개발자 분들에게 도움이 되길 바랍니다.

 

부록. CUDA Out of Memory 개선

- 같은 스펙의 PC에서 프로그램이 정상적으로 동작했는데,
- 다른 PC에서는 CUDA Out of memory 발생
- cuda pin memory = False
 
[참고 링크]

https://discuss.pytorch.org/t/when-to-set-pin-memory-to-true/19723
 

When to set pin_memory to true?

From the imagenet example: train_loader = torch.utils.data.DataLoader( train_dataset, batch_size=args.batch_size, shuffle=(train_sampler is None), num_workers=args.workers, pin_memory=True, sampler=train_sampler) val_loader = torch.utils.data.DataLoader( d

discuss.pytorch.org



https://discuss.pytorch.org/t/using-pined-memory-causes-out-of-memory-error-even-though-batch-size-is-set-to-low-values/30602
 

Using pined memory causes out-of-memory error even though batch size is set to low values

I am fine-tuning on a custom dataset using ResNet. I have met with this strange issue. When I try to train the model, I see the following error message: THCudaCheck FAIL file=/opt/conda/conda-bld/pytorch_1535491974311/work/aten/src/THC/THCCachingHostAlloca

discuss.pytorch.org



https://cvml.tistory.com/24
 

num_workers & pin_memory in DataLoader

pytorch를 이용해 딥러닝 모델을 학습시킬 때 custom dataset을 이용할 경우 torch.utils.data.Dataset으로 데이터셋을 정의하고(input data type, augmentation 등) torch.utils.data.DataLoader로 어떻게 데이터..

cvml.tistory.com

 
- cuda pin memory = False

연산을 빠르게 해주고, 미리 올려놓고 하는 방법으로 알고 있다.

번역 PR이 멘토님의 리뷰를 거쳐 Merge 되었다!

https://github.com/PyTorchKorea/tutorials-kr/pull/559

 

prototype_source/skip_param_init.rst 번역 by updaun · Pull Request #559 · PyTorchKorea/tutorials-kr

vscode-hanspell을 활용하여 맞춤법 검사를 진행했습니다. 라이선스 동의 변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다. 더 자세한 내용은 기여하기 문서를 참고해주세요.

github.com

 

조원분들과 멘토님이 번역한 것을 검토해주셨다. 외래어의 사용 및 문맥이 자연스러운지를 위주로 검토받았다.

엄청 대단한 것은 아니지만 내가 번역한 문서가 튜토리얼 페이지 추가되었다.

컨트리뷰터톤은 이제 결과 발표만을 앞두고 있다.

멘토님과 청년 멘토링을 별도로 신청해서 오프라인으로 한 번 만날 수 있는 기회가 생길 것 같다.

10월 중에 서울에 올라가서 다른 스케줄과 함께 멘토링을 받아보려고 한다.

파이토치 튜토리얼 번역을 하면서 파이토치 공부를 많이 할 수 있을 줄 알았는데, 생각보다 시간 내는 것이 어려웠다.

컨트리뷰터톤이 끝나더라도 여전히 번역에 기여할 수 있다.

이제는 다른 오픈 소스에 어떻게 하면 기여할 수 있는지 방법을 조금 알게 되어서 앞으로 개발 인생에서 다른 많은 오픈 소스에 기여하면서 성장하는 개발자가 되고 싶다.

다른 조원들 번역 PR에 Peer Review를 남기고, Pytorch에 오탈자 수정 PR을 올려 MERGE 되었다!

https://github.com/PyTorchKorea/tutorials-kr/pull/589

 

recipes_source/quantization.rst 번역 by hjvision96 · Pull Request #589 · PyTorchKorea/tutorials-kr

라이선스 동의 변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다. 더 자세한 내용은 기여하기 문서를 참고해주세요. 동의하시면 아래 [ ]를 [x]로 만들어주세요. 기여하기

github.com

https://github.com/PyTorchKorea/tutorials-kr/pull/582

 

intermediate_source/speech_recognition_pipeline_tutorial.py 번역 by terri1102 · Pull Request #582 · PyTorchKorea/tutorials-k

라이선스 동의 변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다. 더 자세한 내용은 기여하기 문서를 참고해주세요. 동의하시면 아래 [ ]를 [x]로 만들어주세요. 기여하기

github.com

 

https://github.com/pytorch/pytorch/pull/84431

 

Fix minor typo in rpc_test.py by updaun · Pull Request #84431 · pytorch/pytorch

This fixes a very minor typo in the rpc_test.py comments.

github.com

 

이번 달까지 1개의 문서의 PR을 올리는 것이 마스터스 기간의 미션이기 때문에 조원들이 PR을 올렸다.

조원들의 번역본을 읽고 잘 번역되었는지 확인하고 Review를 작성했다.

바쁜 와중에도 번역을 다들 매끄럽게 잘 번역하시는 것 같다. 

 

오픈소스 컨트리뷰터톤을 하면서 파이토치 튜토리얼 뿐 아니라 다른 유명 오픈소스에도 기여해보는 TF팀에 참여했다.

어떻게 해야할 지 막막했는데 멘토님께서 선뜻 도전해보라고 제안해주셨다!

멘토님이 용기를 주시고, 데드라인도 지정해주셔서 시간을 좀 더 내어 도전할 수 있었다.

파이토치 튜토리얼에서 오탈자 수정을 했던 것과 거의  비슷하게 작업했다.

오타 수정은 큰 이슈가 아니기 때문에 다른 사람들도 이슈를 작성하지 않고 간단하게 PR을 작성하여 올린 것을 참고했다.

repo를 fork하여 새로운 브랜치를 만들고 수정하여 PR을 요청했다.

PR을 올린지 얼마 되지 않아, 어떤 개발자 분이 리뷰를 남겨 주셨다. CLA에 동의를 하라는 내용이었다.

CLA 는 Contributor License Agreement 의 약자로 라이선스에 대한 저작권 동의에 대한 부분 같았다.

PR을 올리자마자, 여러 봇들이 댓글을 달아줌과 동시에 여러 개의 테스트들이 수행되었다.

최종 Merge가 되기까지 약 10시간 정도 지나 반영된 것 같다.

아주 작은 오타 수정이었지만, 이것으로 pytorch에 컨트리뷰터가 되었다. 

AI 개발자로서 아주 영광스럽고 뿌듯한 일이다.

 

번외로 팀 예산으로 치킨 기프티콘을 보내주셨고, 먹는 사진을 인증했다.

다이어트 중이었지만, 숙제를 수행해야하기 때문에 치팅데이를 할 수 있었다. ㅋ

다른 조원의 번역 PR에 Peer Review를 남겼다.

https://github.com/PyTorchKorea/tutorials-kr/pull/575

 

intermediate/realtime_rpi.rst 번역 by YunjinJo · Pull Request #575 · PyTorchKorea/tutorials-kr

라이선스 동의 변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다. 더 자세한 내용은 기여하기 문서를 참고해주세요. 동의하시면 아래 [ ]를 [x]로 만들어주세요. 기여하기

github.com

 

주마다 한 문서씩 번역할 수 있을 것이라는 생각은 오만이었다. 필수적으로 해야하는 1개의 문서를 하고 나서는 확실히 게을러진 모습이 나타났다. 의무감이 있어야 더 번역을 했을까, 부지런하지 못한 나에게 아쉽다.

이번 주에는 우리 조 다른 인원의 번역 PR에 Peer Review를 남겨봤다. 주로 영어 표현을 그대로 사용한 경우 위주로 리뷰를 남겨보고 있다. 리뷰는 또한 근거를 제시하는 것이 좋을 것 같아 네이버 사전 및 자체 용어집을 근거로 리뷰를 작성했다.

audio 쪽 문서 번역, 그리고 yolov5 쪽에서도 오탈자 찾아 PR 올려보는 것을 시도해야하는데 다른 일에 집중하고 있어 여유가 아직 부족한 것 같다. 다른 분들도 정말 바쁘지만 일정 쪼개서 작업하시는데, 나도 컨트리뷰터톤 참가했던 그 때의 초심으로 돌아가야 할 것 같다.

PyTorchKorea tutorials-kr에 첫 번역 PR을 올렸다!

https://github.com/PyTorchKorea/tutorials-kr/pull/559

 

prototype_source/skip_param_init.rst 번역 by updaun · Pull Request #559 · PyTorchKorea/tutorials-kr

vscode-hanspell을 활용하여 맞춤법 검사를 진행했습니다. 라이선스 동의 변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다. 더 자세한 내용은 기여하기 문서를 참고해주세요.

github.com

 

오픈소스 컨트리뷰톤이 시작된 지 얼마 안 되었을 때, 연습용 repo에 번역 연습으로 몇 줄만 번역해보고 PR을 하라 하셨는데, 그 때 의욕이 앞서서 미리 한 페이지를 번역하고, 조원들 4명에게 리뷰를 받고, 멘토님께도 리뷰를 한 번 받아서 지금까지 4차례 정도 추가 수정을 하게 된 것 같다!

조금 더 완성도가 있는 상태로 본 repo에 PR을 올릴 수 있었다. 멘토님께서 주간 회의를 진행할 때 가장 먼저 번역 PR을 올려주셨다고 칭찬도 해주시고, 기프티콘도 선물로 주셔서 정말 기분 좋았다.

주간회의에서는 용어집의 포맷 개선 방향과 peer 리뷰시 어떻게 리뷰어를 구성하면 좋을지 토의를 진행했다. 마스터스-C조 조장으로 발표자가 되어 팀의견을 발표를 했다.

회의 내용을 Notion에 정리했다.

https://updaun.notion.site/220813-f4ef02dd6b6b41cb93f7cf9ad9503f52

 

220813 회의 내용

과제

updaun.notion.site

 

마스터스-C조의 조장을 2주간을 마무리하고 다시 일반 조원으로 돌아가게 되었다. 

8월 말까지 1개 문서의 번역을 하는 것이 마스터스 과제인데, Audio 관련해서 번역을 더 해서 PR을 올려보려고 한다.

추가적으로 TF팀 다른 오픈소스에 기여하기 팀과, 공식 튜토리얼로 배우는 PyTorch TF에도 들어가서 추가 활동을 하게 될 예정이다. 지금 하고 있는 다른 프로젝트들과 알고리즘 스터디까지 있어서 바쁜 일정이지만 일단 저질렀다. 

잠을 줄여가며 진행할 것 같다. 부단히 노력하고, 잘 정리하고 성장해야한다.

네 번째 미션인 PyTorchKorea 튜토리얼 레포에 용어집 단어 추가 PR을 수행했다.

https://github.com/PyTorchKorea/tutorials-kr/pull/557

 

TRANSLATION_GUIDE.md(Add word : device) by updaun · Pull Request #557 · PyTorchKorea/tutorials-kr

라이선스 동의 변경해주시는 내용에 BSD 3항 라이선스가 적용됨을 동의해주셔야 합니다. 더 자세한 내용은 기여하기 문서를 참고해주세요. 동의하시면 아래 [ ]를 [x]로 만들어주세요. 기여하기

github.com

 

앞으로 2주간 C조 리더가 되어 활동하게 되었다.

특별한 것은 없고 조금 더 능동적으로 팀원들 온라인 회의시간을 잡고, 조별 과제에 대한 회의를 진행하고 발표하는 것이다.

 

조별과제로 hunspell의 장단점에 대해서 개별 생각을 정리했다.

대체할 수 있는 다른 아이디어는 없는지 찾아봤는데,

C조 조원분 중에 한 분이 vscode에 Extenstion으로 나와있는 "vscode-hanspell" 에 대해 소개해 주셨다.

다른 오픈 소스에서 오탈자를 찾아 PR을 올려보는 TF에 합류하게 되었다.

또 PDF 형식으로 제작하여 책으로 만들어보는 TF에도 합류했다.

 

이번 용어집에 PR을 올리면서 Fork를 활용해서 작업을 진행했는데,

fork를 한 후에 master branch에서 바로 작업하여 올리기를 했더니, 지난 번 오탈자 수정 commit도 또 다시 올라가는 문제가 발생했다.

아직도 Git에 대해서 익숙하지 못해서 이런 문제가 발생한 것이다.

rebase를 쓰는 방법도 있지만 시간상 오래 걸릴 것 같아서 fork한 repo를 지우고 다시 fork를 해서 작업을 했다.

그 대신 이번엔 master에서 작업하지 않고 새로운 브랜치를 만들어 작업했다.

PR이 merge 된다면 branch를 삭제하고

master에서 sync를 한 뒤 다시 브랜치를 만들어 작업하는 과정으로 해야할 것 같다.

그래도 비교적 빠르게 문제를 해결했다.

+ Recent posts