오늘은 회사 gitlab 그룹에 프로젝트 레파지토리를 업데이트해보았다.

역시나 개고생함. main/master 디폴트 브랜치가 자꾸...

그래도 그냥 밀어버리고 싶은 욕구를 참고 merge까지 끝냈다.

 

목표 : 로컬 파일을 gitlab repository에 push하기

 

1. 2달 전에 미리 SSH 키를 등록해놔서 이 부분은 문제가 없었다.

 

2. 작업 파일로 가서 한 것들

git init
remote add origin git@<gitlab SSH 주소>
# remote 연결

git status 	# 업로드하려는 파일과 .DS_Store 파일이 untracked 상태에 있음
vi .gitignore  # .DS_Store 추가 (*.DS_Store)
git status  # .DS_Store 사라지고 .gitignore 파일이 생김
git add .
git commit -m "<메세지>"
git push -u origin master  
# gitlab의 디폴트 브랜치가 main이라 브랜치 따로 생성됨

git checkout main
git remote update
git fetch
# 최근 업데이트 사항 받아오는 건데, 왜 했는지...

git pull origin master
# fatal: refusing to merge unrelated histories 오류

git pull origin master --allow-unrelated-histories
# 이렇게 무식한 방법 쓰면 안 된다고 ...
# Merge made by the 'recursive' strategy.

git push
# 드디어 main 브랜치에 업데이트됨

 

3. 지금까지 지속적으로 발생해온(?) main/master 브랜치 문제를 해결하고자 git config를 수정했다.

git version
# git version 2.30.1 (Apple Git-130)

git config --global init.defaultBranch main

 

흑흑.. 그냥 무작정 하다보면 push pull merge 등등 자연스럽게 이해될 줄 알았는데 몇 개월째 삽질만 한다.

주말에 기본부터 git 공부해봐야겠다.

복사했습니다!