가능성이 있는 원인 2가지
1. 새로 폴더를 만들어 git init 한 뒤 commit을 한 번도 하지 않았을 때
2. upstream 설정이 안 되었을 때
3. 2를 해결하고자 git이 준 코드를 쳤는데 오타를 냈을 때
내 경우는 2와 3이었다.
어제 한 일
1. Github에는 이미 쓰고 있던 repo가 있음
2. 로컬에 $ mkdir <새 폴더명>을 하고 새 파일도 만들어 놓음
3. $ git clone을 하지 않고 기존 repo와 연결하기 위해 이 폴더에서 아래를 실행함
$ git init
$ git remote add origin <github repo url>
4. (여긴 기억이 정확하지 않음) 일단 지금 있는 걸 add, commit 해주고 $ git pull로 기존 repo를 당겨옴
5. $ git push를 하고 보니 로컬 브랜치는 master, 기존 repo의 default는 main이라 PR 생성함
6. PR을 github에서 merge하고 브랜치 이름을 main으로 통일하고 싶어서 로컬에 main 생성, master 삭제
오늘 한 일
1. 파일 두개의 위치를 옮기고 새 파일도 만듦
2. 관성으로 add, commit 함
$ git add .
$ git commit -m "message"
$ git push
로컬에 있는 폴더를 기존에 존재하는 github repo와 연결할 때 $ git branch -M main을 해줬던 거 같은데 어제 이걸 실행한 기억이 없어서 이것도 해주고 git에서 쓰라는 것도 썼다.
$ git branch -M main
$ git push --set-upstream origin main
그랬더니 난 에러..는 나중에 돌아보니까 여기서 오타를 냈다. --set-upstream인데 중간에 - 를 빼먹었다.
구글링해봤더니 $ git init을 한 뒤 commit을 한 번도 하지 않아서 난 문제라고 한다.
근데 난 했었는데? $ git log를 보니까 별 이상 없고 아까 commit한 것도 HEAD로 있었다.
$ git status를 보니 위치를 바꾼 파일이 not staged로 있길래 rm 해주고 다시 commit, push했다.
그래도 같은 에러가 났다.
해결
다시 구글링해서 얻은 해결책. 이렇게 하니까 push 되었다.
$ git push -u origin main
-u 옵션은 --set-upstream과 같은 효과다. set upstream for git pull/status. 그러니까 내가 중간에 - 탈자를 내지 않았다면 성공했을 거라는 뜻...
'Git' 카테고리의 다른 글
다른 사람의 repository에 push할 때 403이 떴다면 - git push the requested url returned error: 403 (0) | 2023.12.04 |
---|---|
Git 속이기 - rebase (0) | 2021.03.07 |
Github 협업 - branch 연습하기 (0) | 2021.01.16 |
GitHub 협업 - 시작하기 (0) | 2021.01.10 |
Git - Visual Studio Code에서 git bash 사용하기 (0) | 2020.09.04 |