본문 바로가기

Git

Github Actions를 이용해서 S3, CloudFront 배포 하기 문제 상황 회사에서 사용하는 프론트엔드 배포 환경은 총 4가지가 있다. 1. dev - 내부 개발용 2. test, stage - QA용(회사 특성상 더미 데이터를 가지고 있는 test 환경, 실제 라이브 데이터를 가지고있는 stage 두가지로 나뉜다.) 3. prod - 실제 라이브 환경 브랜치는 dev, test, master로 나누어져있었으며, 일반적으로 dev브랜치에서 새로운 브랜치를 따서 기능개발이 이루어지면 dev로 머지 → dev에서 test로 머지 → test, stage 환경에 배포 → QA 테스트 → QA 후 master로 머지되어 라이브로 배포된다. 특히나 한창 QA 돌릴 시기에는 하루에도 몇번씩 배포를 했어야했는데 가내수공업으로 스크립트를 돌리고, 빌드 후 배포가 완료될때까지 다른 .. 더보기
git push 403 error시 url 변경으로 해결하기 회사 놋북으로 잠깐 개인 프로젝트 깃헙에서 pull 받은 다음에 커밋후 push 하려고하니 해당 저장소에 접근 권한이 없어 403 forbidden 에러가 떴다. SSH로 해결하는 방법이 있지만 나는 remote url 변경으로 해결하였다. 터미널에 아래 push 하려는 repo주소를 입력해서 설정해주면된다. git remote set-url origin https://[USERNAME]@github.com/[USERNAME]/[REPOSITORY].git 변경 후 아래 명령어로 변경된 url 이 다시 잘 적용되어있는지 확인한다. git remote -v 그리고 나서 push 하면 깃헙 비밀번호를 요구하는데, 비밀번호를 맞게 입력하면 정상적으로 push가 된다. 더보기
이미 깃헙 repo에 올라간 파일에 .gitignore 적용이 안되는 경우 이미 깃헙 repo에 commit후 push해버린 파일들을 추후에 .gitignore에 추가할 때가 있다. 예를 들면 node_modules 폴더를 초기에 .gitignore에 설정해놓지 않고 그냥 repo에 올려버렸는데, 나중에 .gitignore에 node_modules/ 를 추가하더라도 이미 git은 node_modules안의 파일들을 tracking 하고있기 때문에 이미 트랙킹 중인 파일들을 무시되지 않는다. 먼저 아래 명령어들에 대해 살펴보자. rm git을 사용하지 않는 rm은 작업 디렉토리에서 파일을 삭제하는 명령어이다. git rm git을 사용한 rm은 작업 디렉토리와 스테이징 영역에서 파일을 삭제 시킨다. git rm --cached --cached를 뒤에 붙이면, 스테이징 영역에서만 .. 더보기
잘못된 계정으로 push한 경우 commit의 author 변경하기 새 프로젝트 세팅하다가 커밋을 했는데 잔디가 심어지지 않아서 보니까 잘못된 계정으로 커밋이 되었다. 이런적이 두어번 있기도 했었고 잔디는 중요하기 때문에(?) 이럴 경우 어떻게 해결하면 되는지 블로그 글로 남겨놓고자 한다. 참고로 나는 vscode를 사용중이므로 vscode terminal에서 진행했다. 1. 위의 이미지에서 수정이 필요한 커밋의 해쉬코드는 b800df08인데, 아래의 rebase 명령어를 사용할 때는 수정하고자 하는 커밋의 ⭐직전커밋⭐의 해쉬를 넣어준다. 나 같은 경우에는 34eabfaa를 넣어주면 된다. git rebase -i -p 34eabfaa 2. 명령어를 치면 아래와 같은 vim editor가 뜨는데, 수정하고자 하는 커밋 앞의 단어 pick을 edit으로 바꿔준다. *vim.. 더보기
레포지토리의 하위폴더를 분리해서 새로운 레포지토리로 만들기 포폴 정리를 하다가 관리도 편하고 자동 배포도 편할 것 같아서 백엔드와 프론트엔드를 같은 레포에서 관리하고 있는 프로젝트를 따로 나누기로 했다. 기존 디렉토리는 아래와 같이 project라는 폴더 안에 frontend와 backend가 나뉘어져 있는 상태이고, project라는 폴더에서 backend 서브 디렉토리를 별도의 깃 레포로 분리하고자 한다. project/ frontend/ backend/ 1. 깃헙에 새롭게 만들 repo를 만들어준다. 나 같은 경우는 백엔드를 분리하는 거라 project-backend로 명명함. 2. 터미널에서 분리하고자 하는 프로젝트의 폴더로 이동 후 아래의 명령어를 입력한다. 분리하려는 서브 디렉토리의 '이름'을 입력하는 것이지 경로를 입력하는 것이 아님에 주의한다. $.. 더보기