일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- react
- jest
- 정렬
- flask
- TypeScript
- nestjs
- Queue
- JavaScript
- 공룡게임
- MongoDB
- cookie
- typeORM
- class
- 자료구조
- nodejs
- Express
- mongoose
- 게임
- OCR
- Bull
- AWS
- GIT
- Sequelize
- MySQL
- game
- Dinosaur
- dfs
- Python
- Nest.js
- Today
- Total
목록GIT (13)
포시코딩
개요 이번 프로젝트에서는 GitHub organization에 프로젝트를 만들고 각자 fork한 다음 fork한 프로젝트에서 브랜치를 만들어 개발 후 브랜치를 본인 repo로 push -> organization의 원본 프로젝트(upstream)로 pr 이런 흐름으로 진행하기로 결정됐다. 이 과정에서 메모해놓으면 좋을 git 명령어들과 상황에 대해 정리해보고자 한다. 일단 GitHub상에서 직접 fork 해서 가져가는거랑 가져온 프로젝트를 git clone한 다음 브랜치 새로 만들어서 작업하는거 정돈 기본으로 알고 있다고 생각할거임. (모르면 바보) upstream 등록 내가 fork해온 repo를 내 컴퓨터에 clone 했다면 upstream에 새 반영사항이 있을 때 최신화를 시켜야 한다. 여기서 두가..
개요 예전 회사에서 SVN -> Git 으로 migration 하면서 만든 메뉴얼인데 문서 정리하다 발견해서 공유를 위해 포스팅 초기설정 server SVN Server에 이미 사용중이던 repository가 있다고 가정한다. repository -> 'Target_repo' Users 목록 SVN Server의 포트번호 확인 방법 Local Computer Java와 Git이 깔려있어야 한다. (위 사진은 예제 컴퓨터의 Java와 Git 버전 상태) Git 2.20.1 버전으로 진행중 버그 발견 -> 2.19.2 버전으로 진행할 것! https://github.com/git-for-windows/git/releases 다른 버전일 경우 '앱 및 기능'에서 git 제거 후 위 링크에서 다운받고 진행한다...
개요 팀원 중 한명의 VS Code에서 git 탭을 눌렀을 때 등록된 소스 제어 공급자가 없습니다. 라고 뜨면서 git을 인식하지 못하는 상황이 있었다. 영어 세팅으로 쓴다면 No source control providers registerd 라고 나온다. 해결법 확장(Extensions) 누르고 @builtin git 검색해서 나오는 쟤네 4개 다 사용(Enable) 눌러주자 결과 잘 나오는 것을 확인할 수 있다.
개요 feature/test 브랜치에서 작업중, 팀장이 dev 브랜치에 hotfix를 적용시켜 내가 개발중인 코드에서 dev를 merge해야하는 상황이 생겼을 때 진행중이던 작업물에 대해 임시 메시지로 commit한 후에 브랜치를 바꿔 받아온 경험이 있을 것이다. 이런 상황에서 git stash를 쓴다면 필요없는 commit을 남기지 않고 작업 진행상황을 임시저장한 후 불러올 수 있다. 사용법 조건 일단 staged changes에 올라간 파일이 없어야 한다. (git add 된 파일이 없어야 한다는 뜻) 만약 있다면 git reset을 통해 다시 Unstaged 상태로 되돌리자 git reset 저장 git stash push -m '내용' 여러 stash가 생길 경우를 고려해 내용을 직접 입력해 st..
개요 최근 항상 하나의 브랜치로 충돌날 일 없이 1인 개발만 해오다가 github에서 readme.md 파일 수정 후 pull 없이 내꺼에서 commit 후 push를 시도해버렸다.. 크리티컬한 에러가 나진 않았지만 대충 '' 니 remote commit이랑 local commit이랑 이력이 다른데 push 못해준다. 어케 할거임? 해결하셈. ''이란 메시지를 받았다. 이전 마지막 커밋 이후 remote(github)에서와 local(내 컴퓨터)에서의 커밋이 각각 달라서 생기는 상황인데 git을 많이 안써본 사람이라면 여기서 별거 아니라 생각하고 멋대로 pull을 하다간 대형사고를 치기 마련이다. 나도 오랜만에 이런 상황이 생겨서 아무 생각없이 git pull을 쳤다가 순간 remote가 덮어씌워지면 오..
전적으로 이 블로그 참고함 https://velog.io/@aldrn29/VScode-Git-bash VSCode 터미널에 Git Bash 설정하기 어느 순간부터 VSCode 터미널이 Git Bash가 아닌 다른 환경으로 이용하고 있었다. 심지어 Git Bash가 안보이는거... 그래서 이왕 설정하는 김에 기본 터미널을 Git Bash로 하고자 했다. velog.io 그대로 따라하면 bash 로 터미널 열 수 있다. 나는 powershell 스크립트 실행 권한 오류는 안떠서 bash 뜨는거 확인하고말음 하란대로 했는데 bash 안나오면 Git 안깔려있어서 그런거니 Git 공홈가서 최신버전 깔아주자.
맥북에서 쓰던 git 이 2.15.0 버전인데, 최근 master 브랜치 -> main 브랜치로 변경하는 이슈도 있고 등등 해서 업데이트를 하려고 했는데 잘 안되다 해결한 과정에 대해 남겨보려한다. 일단 처음부터 문제였음 brew upgrade git 을 하니 Error: homebrew-core is a shallow clone. 이런 에러 내면서 뭔가 되질 않았다. brew install git 도 마찬가지 Error: git: Invalid bottle tag symbol 이런 에러냈음 brew 업데이트부터 뭐가 꼬이고 있는거 같아서 그럴땐 아래처럼 update-reset 을 해주라는 글을 봤다. brew update-reset -> fetching 하는 부분에서 상당히 오래걸렸다. 끝난 후에 b..
개요 Stash가 필요한 상황에 대해 알아보자 dev 브랜치에서 작업해야 될 것을 모르고 master 브랜치에서 작업하여 master 브랜치에 작업한 것을 dev 브랜치로 넘겨야 하는 상황일 때 한 프로젝트에 대해 브랜치를 나눠 개발하는데 작업하던 도중 협업자가 코드를 확인해달라고 하는 상황에서 해놓은 코딩은 너무 날림 코드라 commit하기엔 애매하고 그렇다고 코드를 버릴 수도 없는 상태일 때 프로젝트를 마치고 리얼 배포를 한 상태에서 추가 개발을 하던 도중 배포되어 있는 코드에서 장애가 발생했을 때, 급하게 배포판으로 돌아가 수정해야 하지만 지금까지 개발한 코드를 버리긴 아까운 상황일 때 * 위 예시들은 내가 현업에서 실제로 겪은 상황을 토대로 만들었다. Stash는 워킹 디렉토리에 unstaged ..
Cherry-Pick이란? rebase를 통해 다른 브랜치의 전체 commit 내역을 복사해오지 않고 특정 commit 내역만을 가져오고 싶을 경우 사용하는 기능이다. 토픽이나 패치 브랜치에서 개발된 특정 commit만을 가져오고 싶은 경우 즉, 하나의 commit만 rebase하는 것! 예시 master 브랜치와 slave 브랜치가 있다고 가정 master 브랜치에는 Test_1 파일이, slave 브랜치에는 Test_2 파일이 존재 위 사진은 slave 브랜치가 head인 상황이다. 여기서 'master - 변수 생성' commit만 가져오고 싶은 경우 해당 commit에 대해 Cherry-Pick 확인하고 Cherry-Pick 버튼을 눌러 진행한다. 'master - 변수 생성' commit을 적용..
개요 브랜치를 나눠 작업하는 도중 master 브랜치에서 추가로 진행된 내용을 가져와야 할 때가 있다. merge를 하는 방법도 있지만 진행 사항에 대해서만 합칠 뿐 브랜치를 합치고 싶지 않은 경우 rebase 기능을 사용할 수 있다. * merge시에는 commit 이력이 남지만 rebase는 변경 이력도 남지 않아 commit history가 깔끔해진다는 장점이 있다. 예제 master 브랜치에서 나온 slave 브랜치 존재 같은 파일에 대해 내용은 따로 개발이 진행되었다는 가정 slave 브랜치에서는 master 브랜치에서 진행된 내용을 가져와 그 위에 계속 작업을 진행해야 한다. head가 slave인 상태를 확인한 후 rebase를 선택한다. master 브랜치 선택 후 rebase (local..