상황
내 노트북(로컬)에서 폴더가 존재했고 폴더 안에 html, css, js 파일이 존재했다.
VSCODE로 작업을 어느정도 하고 github에 올리고 싶어서 github repo를 생성했다.
github repo와 연결하고 싶은 폴더를 터미널로 열어서 맨 처음 git init을 해줬다.(git 생성. 이제 이 폴더에 git 환경의 조성됨.)
!github repo와 git이 연결된 시점은 아님
그리고 어느 블로그들을 보면서 add, commit을 하고
git과 github를 연결했다. (git remote add origin(굳이 origin이 아니더라도 다른 단어로 해도 됨) repo주소(url))
! github repo와 git이 연결된 시점
그리고 push를 하는데 에러가 발생한다…
현재 내 로컬과 github repo(remote)이 일치하지 않는단다… 그러면서 일치시켜주기 위해 git pull을 하라고 힌트를 준다.(github repo(remote)에 있는 것을 내 로컬로 가져오는 것)
이후 push를 했지만 그래도 에러가 동일하게 발생했다.
혼자 끙끙 앓다가 해결을 못해 친구에게 sos
친구가 push 할 때 -f를 사용해 보라고 했다. (git push origin master -f)
근데 사용해 보라고 하면서 같이 하는 말: 이건 혼자 작업할 때만 써 절대 협업할땐 사용하지 마 github repo(remote)를 내 로컬에 맞추는 거라고..
그리고 push하니 에러 발생 없이 잘 되었다.
하지만 이렇게 해결하는 게 아니고 뭔가 근본적으로 해결하고 싶었다.
위에서 해결된 이유를 보니 github repo(remote)와 내 로컬이 다르지 않기 때문에 성공한 것이었다.
그럼 계속 에러가 발생하는 이유는 다르기 때문인 것이다.
그래서 다시 맨 처음으로 돌아갔다.
repo를 생성했는데 생성하면서 라이센스를 MIT로 설정했었다.(에러 날 때의 상황에서도 repo 생성할 때는 READEME.md 파일 생성할 때도 있었고 안 할 때도 있었다. 하지만 라이센스는 계속 MIT로 설정해주고 있었다.)
흠 생각해보니 애초에 repo 생성 직후 시점부터 내 로컬과 맞지 않았던 상황이었다.
그래서 git init으로 로컬에 다시 git을 생성하고 add commit 은 pass 했다.
대신 바로 git과 github를 연결했다. (git remote add origin(굳이 origin이 아니더라도 다른 단어로 해도 됨) repo주소(url))
!github repo와 git이 연결된 시점
그리고 이 문제의 근본적인 원인을 해결하기 위해 바로 pull을 해줬다.
그리고 add, commit, push를 하니 아무 문제도 발생하지 않았다.(성공~~~)