목록git (4)
Soy's Devlog

로컬에서 원격에 push를 하려고 하는 중 해당 에러를 만났다. 생각 해보니, 깃에서 레포를 신규로 먼저 생성한 후 로컬저장소를 생성 했는데 로컬에서 작업한 것을 원격에 push하려고 하니 pull을 먼저 수행한 후 진행 하라고 알려주는 것이었다. 원격에 readme.md 파일까지 생성해 놓고 pull을 하지 않은 채 push를 하니 당연히 reject될 수 밖에 😏 git은 로컬저장소와 원격저장소간에 merge를 진행하지 않고 push할 경우 reject 처리를 한다. 1. 서로 관련 기록이 없을 때 git 공식 문서에 따르면 merge 시 공통 조상을 공유하지 않는 기록의 병합을 기본적으로 거부한다고 한다. 각각 독립적인 프로젝트나 저장소를 병합하려 할 때의 기본적인 모습인데 이것을 무시하고 병합을..

실제로 2021.08.13일 부터 토큰 인증방식이 변경되기도 했고 git push, git pull 등 원격에 접근하려 할 때 git 보안정책 상 토큰을 변경해야 하거나 재발급을 할 경우 mac에서의 적용방법을 정리해 보았다. 미리 보안정책을 확인하면 좋지만, git 사용 중 해당 이슈로 인해 터미널 에러를 만나면 바로 적용해 주면 된다..! Git에서 token 발급하기 git 우측상단의 프로필 링크에서 Settings 로 이동한다. 왼쪽 메뉴모음 중 Developer settings 를 클릭한다. Personal access tokens 로 이동해준다. Generate new token 을 클릭하여 신규 토큰 생성 페이지로 이동한다 토큰의 이름을 입력하고, 유효기간을 설정해 주면 되고 scope는 ..

git 버전이 오래되어 iterm에서 업데이트 하고자 brew install git 을 실행하자 아래와 같은 에러가 보였다. Error : homebrew-core is a shallow clone 알고보니 Homebrew가 2020.10월 부터 설치 시 더이상 shallow clone을 생성하지 않는다고 한다. shallow clone이란 git 레파지토리의 이력이 많아지거나 용량이 클수록 clone을 받아오는데 시간이 오래걸리고 스토리지 용량도 많이 필요하니, 레파지토리의 일부 이력만 받아오는 것. 이제 shallow clone 사용할 수 없으니 brew에 해당 내용을 반영해 줘야 한다. 친절하게도 어떤 명령어를 실행해야 하는지 세세하게 에러내용에서 알려주고 있어서 큰 어려움 없이 진행할 수 있었다...

깃 레파지토리 목록을 관리하던 중 위치를 바꾸고 싶은 레파지토리가 있었다. 단순 복사를 해버려서 그동안의 히스토리를 잃고 싶지는 않았기 때문에 mirror 옵션을 사용해 이사를 해보았다! 사전에 필요한 것은 옮겨질 레파지토리를 그대로 받을 새로운 레파지토리 이다. 1. New Repository 신규 레파지토리를 생성해 준다 2. 로컬에 Clone 으로 내려받기 옮기고자 하는 레파지토리를 로컬에 clone 해 준다. 구글링을 해 보면 대부분 바로 mirror 옵션을 사용 하라는 경우가 대부분인데, mirror 옵션을 통해 clone할 경우 레파지토리의 소스는 가져오지 못한다. mirror 는 working tree에 있는 소스코드는 포함하지 않는 옵션이기 때문이다! 따라서 소스도 받기 위해서 레파지토리 ..