VSC C++ 초기설정 및 깃 연동

ChoRong0824·2023년 3월 26일
0

C

목록 보기
7/17
post-thumbnail

C++에 초기 설정 및 깃허브 연동중 에러가 발생할 수 있을법한 과정을 웬만해선 다 포스팅해봤습니다.
VisualStudioCode 에서 발생할만한 에러 & 깃허브 연동 및 업로드 방법에 대해서 많이 겪어보았고,
정말 여러가지 경우의 수에 대해서 보다 자세하게 작성하게 되었습니다.
해당 글로 도움 되시면 좋겠다는 기쁜 마음에 포스팅했습니다.
(반복되는 내용 및 순서가 체계적이지 않다는 것은 참고바랍니다)

맥북 VSC 다운 및 설정

(다운로드바로가기)
맥북은 VS에 c++이 지원하지 않습니다. 따라서 VSC를 다운 받아서 확장자 라이브러리를 다운 받아주면됩니다.
(VSC 맥os 다운 -> 확장자에서 C/C++ 다운 - > Code Runner 다운)
이렇게도 안된다면, 아마 json 파일에 문제가 있는 것 같은데 이런 경우
settings.json 파일에서

"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "cpp": "cd $dir && g++ -std=c++14 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"

추가해주면 됩니다.
json 파일은 우측상단에 보이는 톱니바퀴를 누른 후, g++ 누르면 launch.json 파일 뜨고, 한번 더 g++ 누르면 settings.json 이 뜹니다. 여기에 위의 코드를 추가해주시면 됩니다.

  • test
#include <iostream>

using namespace std;

int main(){
    cout << "hello world\n";

    return 0;
}


VSC 깃에 연동

깃에 해당 소스를 업로드 하려 하였으나 해당 에러가 발생하였습니다.
error: remote origin already exists.

이유 및 해결

  • 이 에러는 이미 원격 저장소(origin)가 설정되어 있어서, 새로운 원격 저장소를 다시 추가하려고 할 때 발생합니다.
    이 문제를 해결하기 위해서는 다음과 같은 방법이 있습니다.
  1. git remote -v 명령어를 사용하여 현재 원격 저장소 설정을 확인합니다.
  2. 이미 원격 저장소가 설정되어 있으면, 다시 추가할 필요가 없으므로 추가할 필요가 없습니다.
  3. 만약 다른 저장소를 원격 저장소로 사용하고 싶다면, git remote set-url origin <새로운 원격 저장소 주소> 명령어를 사용하여 원격 저장소의 주소를 변경할 수 있습니다.

    즉, 원격 저장소가 이미 설정되어 있으므로 새로운 원격 저장소를 추가할 필요가 없습니다. 원격 저장소를 변경하고 싶다면, git remote set-url 명령어를 사용하여 원격 저장소의 주소를 변경할 수 있습니다.

필자는
1. git remote remove origin 명령어를 입력하여 기존에 연결되어 있는 원격 저장소와의 연결을 끊어준다
2. git remote add origin (새롭게 연결할 Git 레파지토리 주소) 명령어를 입력한다.
3. git push origin main

그러나,

위와 같은 에러발생.

  • 이 문제는 다른 사용자나 다른 장소에서 변경한 내용이 로컬에 있는 내용과 충돌하기 때문에 발생합니다.

해결방법

  1. git pull 명령어를 실행하여 리모트 저장소의 변경 사항을 로컬에 가져옵니다.
  2. 충돌을 해결하고 변경 사항을 병합합니다.
  3. 로컬에서 변경 사항을 다시 커밋하고 git push 명령어를 사용하여 리모트 저장소로 푸시합니다.

    즉, 다른 사람이나 다른 장소에서 변경된 내용을 우선 가져와서 로컬에 통합한 후에 다시 푸시하는 것입니다. 이를 통해 충돌을 방지하고 변경 사항을 안전하게 푸시할 수 있습니다.

충돌을 해결 및 변경사항을 병합하는 방법

  1. git pull 명령어를 사용하여 로컬에 있는 최신 버전의 코드를 가져옵니다.

  2. 충돌이 발생한 파일을 수정합니다. 충돌이 발생한 부분은 <<<<<<< HEAD와 >>>>>>> 사이에 있는 코드입니다. 이 부분을 수정하여 충돌을 해결하면 됩니다.
    필요한 경우 변경 사항을 검토하고 다른 변경 사항이 있는지 확인합니다.

  3. 변경 사항을 스테이징 영역에 추가하고 커밋합니다. git add 명령어를 사용하여 변경 사항을 스테이징 영역에 추가하고, git commit 명령어를 사용하여 변경 사항을 로컬 저장소에 커밋합니다.

  4. 변경 사항을 원격 저장소에 푸시합니다. git push 명령어를 사용하여 변경 사항을 원격 저장소에 푸시합니다.
    이렇게 하면 충돌을 해결하고 변경 사항을 병합할 수 있습니다. 만약 충돌이 여전히 발생한다면, 변경 사항을 검토하고 충돌을 해결하는 과정을 반복해야만 합니다.


미치겠다.... 이게 뭐야 ..
당황하지 않고 자연스레 구글링을 해본다..

  • 이유, (참고)
    현상의 문제점은 뭔가 폴더 혹은 내용이 많은 디렉토리(주로 desktop)에 실수로 .git을 만들어놓아서 그런 것입니다.

결론, 저 디렉토리의 git을 지우면 깔끔하게 해결할 수 있습니다 !

  • 우선 그러려면 나의 git repository root가 어딘지 알아야 한다.

(순서)

터미널에 이 명령어를 쳐보자.
git rev-parse --show-toplevel

이 명령어를 치면 내 root repository를 알 수 있습니다다.
/Users/mun
(제 경로)
pwd로 현재위치를 확인해보고
그럼 이제 해당 경로로 이동해보자.
cd 이동할경로
거기서 해당 디렉토리에 어떤 파일들이 있는지 알아보자.
ls -a
이 디렉토리에 .git이 있을 것이다.
그러면 해당 디렉토리에서 이 명령어를 쳐보자.
rm -r -f .git
(-f는 force의 약자이다.)
이제 명령어가 실행 된 이후에 visual studio code를 동기화하면 말끔하게 10k가 사라진 것을 볼 수 있을 것이다.

중요!!

git clean -f -d 함부로 치면 절대 절대 안됩니다.
강제로 삭제하는 명령어이기 때문에 복구하기 힘들 수 있다.
정 궁금하면 git clean -d -n을 해보시면, clean이 어떻게 되는지 미리 볼 수 있는 코드입니다.


좌측 바 이 모양을 누르면,

Publish to GitHub라는 버튼이 추가되었지만 GitHub가 아닌 다른 원격 저장소에 올린 경우를 생각해서 Initialize Repository를 클릭하면 됩니다.
이제 로컬 저장소가 초기화됩니다.

  • 소스파일 중 커밋을 원하는 파일 옆에 보이는 Stage Changes 아이콘을 클릭하여 파일 하나씩 추가할 수 있습니다.

  • 또는 CHANGES(변경사항) 항목 옆에 있는 Stage All Changes 아이콘을 클릭하여 Changes에 있는 모든 파일을 추가할 수 있습니다.

  • Commit시 남길 메모를 입력하고 ( 현재 로컬 repository에 반영한 것이 어떤 작업인지 적어주면 됩니다. ) 바로 아래에 있는 Commit 버튼 (파란색)을 클릭합니다.

  • 현재 변경된 것들이 모두 로컬 저장소에 반영되었기 때문에 아무 파일도 보이지 않습니다.
    여기서 파일을 수정하면 위에서 봤던 화면이 보이면서 Changes 항목에 파일이 추가되는 것을 볼 수 있습니다.
    앞에서 했던 방법으로 다시 커밋을 다시 해주면 다시 아래 화면처럼 아무 파일도 보이지 않게 됩니다.


이제 깃허브에 업로드 해보겠습니다.

  • Visual Studio Code 아래쪽에 보이는 TERMINAL 창을 선택합니다.
    보이지 않는 경우 메뉴에서 View > Terminal을 선택합니다.
  1. git remote add origin 깃헙 주소
  2. git pull origin main --allow-unrelated-histories
  3. git push -u origin main
error: src refspec main does not match any
error: failed to push some refs to 'https://github.com/sjMun09/cPlusPlusEx.git'

이 오류는 원격 저장소에 업로드할 수 있는 로컬 브랜치가 없기 때문에 발생합니다. 이 오류를 해결하기 위해서는 다음과 같은 단계를 따르면 됩니다

  1. git add .명령어를 사용하여 변경 사항을 스테이징 영역에 추가합니다. 이 명령어를 사용하면 모든 변경 사항이 스테이징 영역에 추가됩니다.

  2. git commit -m "커밋 메시지" 명령어를 사용하여 변경 사항을 커밋합니다. 커밋 메시지 부분에는 커밋에 대한 간단한 설명을 입력합니다.

  3. git push -u origin main명령어를 사용하여 변경 사항을 원격 저장소에 푸시합니다. 이 명령어는 main 브랜치를 원격 저장소에 푸시합니다.

  4. 만약 이 오류가 계속 발생한다면, 로컬 저장소에 main 브랜치가 없을 수 있습니다. 이 경우에는 git branch 명령어를 사용하여 브랜치 목록을 확인하고, git checkout -b main 명령어를 사용하여 main 브랜치를 생성하고 체크아웃합니다. 그 다음 위의 단계를 따라서 변경 사항을 커밋하고 원격 저장소에 푸시하면 됩니다.

이 오류는 원격 저장소에 있는 변경 사항이 로컬 저장소에 없어서 발생합니다. 이 경우에는 다음과 같은 단계를 따르면 됩니다:

  1. git pull origin main 명령어를 사용하여 원격 저장소에서 최신 변경 사항을 가져옵니다.

  2. 만약 충돌이 발생하면 충돌을 해결합니다. 충돌 해결 방법은 이미 이전에 답변으로 제공해드렸으니 참고해주세요.

  3. 변경 사항을 커밋하고 원격 저장소에 푸시합니다. git add ., git commit -m "커밋 메시지", git push origin main 명령어를 사용하여 변경 사항을 원격 저장소에 업로드합니다.

위의 단계를 따라 해결이 되지 않는다면, 원격 저장소에 있는 변경 사항이 로컬 저장소에 없다는 것이 아니라 충돌이 발생해서 자동 병합이 실패한 것일 수 있습니다. 이 경우에는 git pull 대신 git fetch 명령어를 사용하여 원격 저장소에서 변경 사항을 가져온 다음, git merge 명령어를 사용하여 충돌을 해결하고 병합합니다. 그리고 다시 커밋하고 원격 저장소에 푸시합니다.

fetal

  • 이 오류는 현재 브랜치에 원격 저장소가 설정되어 있지 않아서 발생합니다. 이 경우에는 다음과 같은 단계를 따르면 됩니다:
  1. git remote add origin (원격 저장소 URL) 명령어를 사용하여 원격 저장소를 추가합니다. 원격 저장소 URL 부분에는 GitHub나 GitLab 등의 호스팅 서비스에서 제공하는 저장소 URL을 입력합니다.

  2. git push -u origin (로컬 브랜치명) 명령어를 사용하여 로컬 브랜치를 원격 저장소에 푸시합니다. 이 명령어는 로컬 브랜치를 원격 저장소에 업로드하고, -u 옵션은 해당 로컬 브랜치가 원격 저장소의 브랜치와 연결되도록 설정합니다.

위의 단계를 따라 원격 저장소를 설정하고 로컬 브랜치를 원격 저장소에 업로드하면 이 오류는 해결됩니다.

ㅋㅋㅋ... 역시 필자를 가만히 안냅두는..

  • 이 오류는 이미 해당 이름으로 원격 저장소가 등록되어 있기 때문에 원격 저장소를 다시 추가하려고 할 때 발생합니다. 이 경우에는 git remote set-url origin (원격 저장소 URL)명령어를 사용하여 원격 저장소 URL을 업데이트하면 됩니다.

이제 원격 저장소 URL이 업데이트되어 다시 원격 저장소를 추가할 필요가 없습니다.

git push

  • 이 오류는 현재 main 브랜치가 업스트림 브랜치를 가지고 있지 않기 때문에 발생합니다. 이 경우에는 git push --set-upstream origin main 명령어를 사용하여 로컬 브랜치를 원격 저장소의 브랜치와 연결할 수 있습니다.
    이 명령어는 현재 브랜치를 origin 원격 저장소의 main 브랜치와 연결하며, 그 후에는 git push 명령어로 변경 사항을 업로드할 수 있습니다.

이제 main 브랜치는 origin/main 브랜치와 연결되었으며, git push 명령어를 사용하여 변경 사항을 업로드할 수 있습니다.

하하하하하하하.....
만만하지 않았던 과정이었다..
차라리 백준 10개 풀라고 하는게.. 더 나앗다 정말 진짜로..

뒤지게 어렵네... 그래도 에러를 이겨서 엄청나게 뿌듯하다 ㅋㅋㅋㅋ


VSC 깃헙에 한 번 연동 및 push 까지 한 후, 파일 추가 후 업로드 하는방법

  • 깃허브랑 연동하려고 git remote add origin https://github.com/sjMun09/cPlusPlusEx.git 했는데,
    error: remote origin already exists. 메시지가 떳습니다.

    이유 : 이 에러 메시지는 이미 "origin"이라는 이름으로 등록된 원격 저장소가 있어서 새로운 원격 저장소를 추가할 수 없다는 것을 나타냅니다.

해결 방법 (다음 중 하나)

  1. 등록된 원격 저장소 확인하기: 이미 등록된 원격 저장소를 확인하려면 "git remote -v" 명령어를 실행합니다. 이 명령어는 현재 로컬 저장소에 연결된 원격 저장소의 목록을 보여줍니다. 추가하려는 저장소가 이미 목록에 있는지 확인하고, 있다면 다른 이름으로 등록하거나 해당 원격 저장소를 삭제한 후 다시 시도하세요.

  2. 원격 저장소 이름 변경하기: 이미 같은 이름으로 등록된 원격 저장소가 있을 경우 "git remote rename <old-name> <new-name>" 명령어를 사용하여 해당 원격 저장소의 이름을 변경할 수 있습니다. 이를 통해 새로운 원격 저장소를 동일한 이름으로 추가할 수 있습니다.

  3. 등록된 원격 저장소 삭제하기: 기존에 등록한 원격 저장소가 더 이상 필요하지 않은 경우 "git remote rm <name>" 명령어를 사용하여 해당 원격 저장소를 삭제할 수 있습니다.
  • 위의 방법 중 하나를 사용하여 문제를 해결한 후 "git remote add origin https://github.com/sjMun09/cPlusPlusEx.git" 명령어를 다시 실행.

필자는 2번째 방법

  • git remote rename git remote add origin https://github.com/sjMun09/cPlusPlusEx https://github.com/sjMun09/cPlusPlusEx.git

이렇게 바보같이 사용했따 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ...
취직 후, 깃허브 모르면 욕 먹는다는데... 지금 많이 만져봐야겠다는 생각이 드네요

  • 결론 : 두 가지 명령어는 별개의 명령어이기 때문에 이 방법은 동작하지 않습니다.
    이미 "origin"이라는 이름으로 등록된 원격 저장소를 "cPlusPlusEx"라는 이름으로 변경하려면 다음과 같은 명령어를 사용해야 합니다.

  • git remote rename origin cPlusPlusEx
    위 명령어를 실행하면 "origin"이라는 이름으로 등록된 원격 저장소가 "cPlusPlusEx"라는 이름으로 변경됩니다.

  • 그리고 나서 다시 아래와 같이 "git remote add" 명령어를 실행하여 새로운 원격 저장소를 추가하시면 됩니다.
    git remote add origin https://github.com/sjMun09/cPlusPlusEx.git
    이제 원격 저장소가 "origin"이라는 이름으로 새롭게 추가됩니다.

에러발생

usage: git remote rename [--[no-]progress] <old> <new> --progress force progress reporting

이유 : 이 에러는 "old" 인자와 "new" 인자를 정확하게 입력하지 않았기 때문에 발생한 것입니다. "old" 인자는 현재 이름으로 등록된 원격 저장소의 이름이고, "new" 인자는 변경하고자 하는 새로운 이름입니다.

  • 따라서 아래와 같이 명령어를 실행
    git remote rename origin cPlusPlusEx
    위 명령어에서 "origin"은 현재 등록된 원격 저장소의 이름이고, "cPlusPlusEx"은 변경하고자 하는 새로운 이름입니다. 이렇게 실행하면 "origin" 이름이 "cPlusPlusEx" 이름으로 변경됩니다.

  • git remote rename origin cPlusPlusEx
    즉, 다시말해서 이 명령어는 "origin"이라는 이름으로 등록된 원격 저장소를 "cPlusPlusEx"라는 이름으로 변경하는 것입니다. 정상적으로 실행되었다면 아무런 출력이 나타나지 않을 것입니다.

변경된 원격 저장소 이름을 확인

git remote -v
위 명령어를 실행하면 변경된 원격 저장소 이름인 "cPlusPlusEx"가 나타날 것입니다.

  • git remote add origin https://github.com/sjMun09/cPlusPlusEx.git

원격 저장소 추가

이후, 원격 저장소에 추가해야함으로

  • "git remote add" 명령어를 실행하여 원격 저장소를 추가하려면 다음과 같이 입력합니다.
    git remote add origin https://github.com/sjMun09/cPlusPlusEx.git
    위 명령어에서 "origin"은 새로 추가할 원격 저장소의 이름입니다. 이제 로컬 저장소와 원격 저장소가 연결되었습니다.

최신 코드 pull

새로운 원격 저장소가 추가되었으므로, 이제 변경된 원격 저장소로부터 최신 코드를 가져오려면 다음과 같이 git pull 명령어를 실행합니다.

  • git pull origin main
    위 명령어에서 "origin"은 원격 저장소의 이름, "main"은 원격 저장소의 브랜치 이름입니다. 이 명령어를 실행하면 원격 저장소로부터 최신 코드를 가져와 로컬 저장소에 병합합니다.

최종 단계 push

그리고 나서, 변경된 코드를 로컬 저장소에서 원격 저장소로 업로드하려면 다음과 같이 git push 명령어를 실행합니다.

  • git push origin main
    위 명령어에서 "origin"은 원격 저장소의 이름, "main"은 업로드할 로컬 브랜치의 이름입니다. 이 명령어를 실행하면 변경된 코드가 원격 저장소에 업로드됩니다.

긴 글 읽어주셔서 감사합니다.
많은 도움 받으셨으면 좋겠습니다.

(혹시라도 이렇게 하셨는데도 안되셨다면.... 마지막으로 정말 깔끔하게 순서만 정리해드리겠습니다.)

  • git push origin main 명령어는 로컬 저장소의 main 브랜치에 있는 변경 내용을 원격 저장소의 main 브랜치에 업로드하는 명령어입니다. 따라서 이 명령어를 실행하면 변경된 코드가 깃허브의 main 브랜치에 업로드됩니다.

    • 하지만,
      이 명령어를 실행하기 전에 먼저 변경된 내용을 로컬 저장소에 커밋해야 합니다. 커밋을 하지 않은 상태에서 git push 명령어를 실행하면 아무런 변경 내용도 업로드되지 않습니다.

    다음과 같은 순서로 명령어를 실행해야 합니다.

    1. 변경된 내용을 로컬 저장소에 커밋합니다. (git add 명령어로 스테이지에 추가하고 git commit 명령어로 커밋합니다.)
    2. 원격 저장소의 최신 변경 내용을 가져옵니다. (git pull origin main 명령어로 원격 저장소의 main 브랜치에서 최신 변경 내용을 가져옵니다.)
    3. 변경된 내용을 원격 저장소에 업로드합니다. (git push origin main 명령어로 로컬 저장소의 main 브랜치에 있는 변경 내용을 원격 저장소의 main 브랜치에 업로드합니다.)

이렇게 하면 변경 내용이 깃허브에 업로드됩니다.

마지막에
error: src refspec push does not match any error: failed to push some refs to 'https://github.com/sjMun09/cPlusPlusEx.git'

  • "git push" 명령어를 실행할 때 로컬 저장소에 커밋된 변경 내용이 없거나, 커밋된 내용이 원격 저장소의 브랜치와 일치하지 않을 때 발생합니다.

  • 이 에러를 해결하려면 먼저 로컬 저장소에 변경된 내용이 있는지 확인해야 합니다.
    변경된 내용이 없는 경우, git add .명령어를 사용하여 변경된 파일을 스테이징하고, git commit 명령어를 사용하여 커밋합니다.
    git add .
    git commit -m "커밋 메시지"
    위 명령어에서 .은 현재 디렉토리의 모든 변경 내용을 스테이징하겠다는 뜻입니다. git commit 명령어에서 -m 옵션은 커밋 메시지를 작성하겠다는 뜻입니다.

  • 이후에 "git push" 명령어를 실행하여 원격 저장소에 변경된 내용을 업로드합니다. 이때 -u 옵션을 추가하여 원격 저장소의 브랜치와 로컬 브랜치를 연동합니다.
    git push -u origin main
    위 명령어에서 "origin"은 원격 저장소의 이름, "main"은 업로드할 로컬 브랜치의 이름입니다.

이제 "git push" 명령어를 실행하면 변경된 내용이 깃허브에 업로드됩니다.

추가 에러

이유,
이 에러는 git pull 명령어를 실행했을 때, 현재 로컬 브랜치와 원격 저장소의 브랜치가 충돌하여 병합(merge) 또는 리베이스(rebase) 방식으로 어떻게 처리할지 지정하지 않아서 발생합니다.
병합과 리베이스는 두 브랜치를 합치는 방법으로, 각각의 방식에는 장단점이 있습니다.

이 에러를 해결하려면,

병합 또는 리베이스 중 하나를 선택하여 git config 명령어로 지정해야 합니다. 위에 나열된 git config pull.rebase false(병합), true(리베이스), only(패스트 포워드) 중에서 하나를 선택하여 실행합니다.

  1. 예를 들어, 리베이스를 사용하려면 다음 명령어를 입력합니다.

    git config pull.rebase true
    만약 전역 설정으로 지정하려면 --global 옵션을 추가합니다.

    이후, 설정된 값을 다시 확인하려면 다음 명령어를 입력합니다.
    git config --get pull.rebase


  2. 또한, git pull 명령어 실행 시에 직접 옵션을 지정하여 현재 pull 작업에 대한 방식을 선택할 수 있습니다.
    예를 들어, 리베이스 방식으로 pull을 실행하려면 다음과 같이 입력합니다.
    git pull --rebase



이제 push

  • 이전에 PUSH 할때는 에러가 발생했던 것을 알 수 있다. 이것은 위에 REBASE를 하지 않았기 때문이다.


    코드만 보기


    VScode 맥 c++ 헤더파일 설정 하는 방법

    인클루드 경로를 업데이트하기 위해서는 VS Code에서 프로젝트 디렉토리 내부에 .vscode 디렉토리를 만들고, 그 안에 c_cpp_properties.json 파일을 생성해야 합니다. 이 파일은 C/C++ 확장팩에서 인식하고 사용하는 파일이며, JSON 형식으로 작성됩니다.

c_cpp_properties.json 파일을 생성하고 나면, includePath 필드에 원하는 인클루드 경로를 추가해주면 됩니다. 예를 들어, 현재 프로젝트 디렉토리와 같은 디렉토리에 있는 헤더 파일을 인클루드하려면, 다음과 같이 c_cpp_properties.json 파일을 작성할 수 있습니다:

{
  "configurations": [
    {
      "name": "Mac",
      "includePath": [
        "${workspaceFolder}/**",
        "${workspaceFolder}/<헤더 파일이 있는 디렉토리>"
      ],
      "defines": [],
      "macFrameworkPath": [
        "/Library/Frameworks",
        "/System/Library/Frameworks"
      ],
      "compilerPath": "/usr/bin/gcc",
      "cStandard": "c11",
      "cppStandard": "c++17",
      "intelliSenseMode": "${default}"
    }
  ],
  "version": 4
}

<헤더 파일이 있는 디렉토리> 부분에는 해당 헤더 파일이 위치한 디렉토리 경로를 입력하시면 됩니다. 이후 VS Code을 다시 실행하면 인클루드 경로가 업데이트되어 정상적으로 컴파일되는 것을 확인할 수 있습니다.

profile
컴퓨터공학과에 재학중이며, 백엔드를 지향하고 있습니다. 많이 부족하지만 열심히 노력해서 실력을 갈고 닦겠습니다. 부족하고 틀린 부분이 있을 수도 있지만 이쁘게 봐주시면 감사하겠습니다. 틀린 부분은 댓글 남겨주시면 제가 따로 학습 및 자료를 찾아봐서 제 것으로 만들도록 하겠습니다. 귀중한 시간 방문해주셔서 감사합니다.

0개의 댓글