요즘 틈틈히 백준을 하루에 하나씩은 풀고 있다. 간단한 브론즈 문제 그냥 심심풀이용으로 품.
실버나 골드도 도전은 하고 있으나 내 머리가 그다지 좋은 편은 아니라.. 거의 브론즈만 푼다
암튼 브론즈 문제는 대충 뚝딱뚝딱하면 금방 코드를 짜는데 실버부터는 코드를 몇번씩 갈아엎어야한다.
근데 이전에 짠 코드가 잘 되던 건데 덮어쓰다가 날려먹고 "안해!!" 이런 적이 많았기 때문에..
깃허브에 레포지토리를 만들기로 결심했다.
처음에 폴더에 git init으로 로컬저장소 만들고, git add .으로 모든 폴더와 파일을 스테이지에 올려놓은 뒤 commit을 했다.
그 다음 원격저장소를 가져오기 위해서 https://sand-to-desert.tistory.com/40 에서 작성한 대로 아래 코드를 입력.
근데 위랑은 다르게, push가 안 되는거다.
이런 식으로 뜸.
그래도 힌트가 밑에 떠서 읽어보니까 대충 뭐.. 원격저장소의 변경사항을 먼저 가져온 다음에 push 하라는 것 같았음.
원격저장소는 내가 만들면서 readme 파일이 자동으로 생성되게 했기 때문에, 커밋이 하나 있었고 그 변경사항을 가져오지 않으면 push가 되지 않는 상황.
그래서 pull을 해보고 나서 다시 시도 했더니 또 rejected라고 떴다. 근데 위랑은 다른 게,
위에는 (fetch first)라는 문구가 있고 아래에는 (non-fast-forward)라는 문구가 있다.
그래서 검색해보니 이 에러가 뭐냐면
깃헙에 생성된 원격 저장소와 로컬에 생성된 저장소 간 공통분모가 없는 상태에서 병합하려는 시도로 인해 발생.
기본적으로 관련 없는 두 저장소를 병합하는 것은 안되도록 설정되어 있다.
라고 되어있었음.
위 사이트에서 나온 해결방법 1을 써봤는데 바로 해결되었다.
git pull origin main --allow-unrelated-histories
git에서는 서로 관련 기록이 없는 이질적인 두 프로젝트를 병합할 때 기본적으로 거부하는데, 이것을 허용해 주는 것이다.
보면 git pull origin main --allow-unrelated-histories 를 입력하기 전에 log는 로컬 저장소의 커밋만 나타났는데,
입력 후엔 원격저장소의 커밋도 같이 나타났다. 병합이 잘 이루어진 것을 확인할 수 있었다.
그리고 원격저장소에 들어가보니 코드가 다 잘 올라간 것을 확인할 수 있었음.
'TIL > 깃&깃허브' 카테고리의 다른 글
모두의 깃&깃허브 8장_명령어로 깃허브 다루기 (0) | 2024.09.08 |
---|---|
모두의 깃&깃허브 7장_명령어로 버전 관리하기 2 (0) | 2024.09.07 |
모두의 깃&깃허브 6장_명령어로 버전 관리하기 1 (0) | 2024.09.06 |
모두의 깃&깃허브 5장_깃허브로 협업하기 (2) (1) | 2024.09.05 |
모두의 깃&깃허브 5장_깃허브로 협업하기 (1) (0) | 2024.08.31 |