gitLab과 Ubuntu, 그리고 OS
OS 수업을 들으면서, 과제를 위해 제공된 gitlab에서 $git clone url를 통해 로컬에 저장했다.
그리고, $ git init 을 통해 .git을 만들었다.
.git을 만들고 나니, git add-all을 통해 현재 디렉토리에 있는 여러 c,헤더 파일들을 git에 추가해야 했는데, 캡쳐본을 보면 알겠지만 웃기는 실수를 하고 있었다.
git remote -v를 통해 현재 연결된 원격 저장소를 확인해보니, 아무것도 없었다!
즉, 원격 저장소도 연결해놓지 않은 상태로, 파일들을 원격 저장소에 담으려고 했던 것이다.....
$ git remote add origin 파일을 저장하고자 하는 git주소(http or ssh) 를 해주고
다시 $ git remote -v를 하니, 원격 저장소에대해 정보가 나왔다.
$ git push origin --all을 통해 원격 저장소에 파일들을 push하려고 하니, username과 password를 치랬는데
이것들은 내 gitLab을 sign in할때의 username/email과 password이다.
그런데, $ git push origin --all을 하니, 또 Everything up-to-date라고 해놓고는 내 gitlab에 파일들이 안왔더라.
배신감만 느끼고 짜증 지수만 올라가는 그때,
$ git push origin master로 해보기로 했다. 내 gitLab의 repository가 master만 접근 가능이라서 그런가 싶어 단순하게 저걸 입력했다.
오, 에러라도 떠서 다행이다. 이건 구글링 가능하니까 ^^
! [rejected] master -> master (fetch first) error: failed to push some refs to '~'
이거는 구글링 해보니, $ git push origin +master 이걸로 강제 push 해주면 된단다.
그래서 해봤다.
오.....
여튼, remote: GitLab: You are not allowed to force push code to a protected branch on this project.
이거는 해석만 해봐도 알 수 있다. 내 프로젝트의 접근에 대해 뭔가 문제가 있는 것이네.
이건 간단했다. 내 gitLab프로젝트에 들어가 setting->repository->protected branches로 들어가서,
unprotect 버튼을 눌러주면 된다. 아래 스크린과 같이.
깔끔하게 너무 이쁘다. ㅎ
이후에 내 gitLab에 가보니 원했던 파일들이 가지런히 다 저장이 되어 있었다.
무한번의 삽질 끝에 드디어 원하는 결과를 얻었다.
코딩만 해서는 안되는 것이다. 개발자는.
git,리눅스 다 알아야만 한다;;;
그래도 이번에 배웠으니 다음엔 잘하겠지.
이제 과제 파일 살펴보고, 코딩해야겠당