로컬에서 진행하던 프로젝트를 깃허브에 올리고 싶은 경우가 있다.
이때는 그냥 빈 폴더 만들어서 git clone
하는 것이 아니니까 그 방법을 정리해 두려고 한다.
이번에 내가 올릴 프로젝트는 벨로그에 쓸 공부 필기 내용이다.
vscode 로 프로그래밍 강의 내용을 필기하는데, velog 에 올릴 때는 이 필기를 거의 그대로 가져다 쓰고 있다.
그래서 이왕 올리는 김에 그냥 잔디관리도 할겸 깃허브에 올리기로 마음먹었다.
먼저 현재 백업하고 싶은 로컬 폴더로 간다.
그리고 git bash here 를 클릭한다.
cmd 창에서 아래의 명령어를 입력하여 깃 저장소를 생성한다.
git init
이후 폴더에 들어가면 .git 이라고 적혀있는 폴더를 볼 수 있다.
전체를 올릴거라면
git add .
특정 파일이나 폴더를 올릴거라면
git add (파일명 또는 폴더명)
을 입력해준다.
그리고 커밋메시지를 작성해준다.
메세지를 작성하지 않으면 푸쉬를 할 수 없기 때문에 꼭 작성해준다.
git commit -m "메세지 적기"
다음 깃허브의 저장소에 보면 아래사진 처럼 HTTPS 코드링크를 복사할 수 있다. 버튼을 눌러서 쉽게 복사한다.
그리고 다시 cmd 창으로 돌아와서
git remote add origin (업로드할 레포지토리 주소)
이렇게 연결한다.
하고 나면 아무런 변화가 없을텐데, 확인하기 위해서는
git remote -v
라고 하면 된다.
git 공식문서 에 따르면 내 현재 로컬이 연결되어 있는 리모트 깃 레포의 주소를 확인할 수 있다. 연결하려던 주소가 보인다면 오케이.
여기서 origin이라는 것을 볼 수 있을텐데, 깃에서 origin 은 원격 저장소를 의미한다.
이렇게 연결까지 되었으면 푸시를 하면된다
git push origin master
앞에서 말했듯 origin 은 원격 저장소를 뜻하고 master 는 현재 내가 있는 가장 기본 브랜치이다. 즉, 원격 저장소의 master 라는 브랜치에 올려줘 라는 명령어이다.
라고 알고 있을 터인데, 보니까 내 레포에 default branch 는 main 이었다. 더 알아보니 원래는 master 를 기본 브랜치로 쓰는 경우가 많았지만 최근들어 기본 브랜치를 main 으로 자동 생성하는 경우가 많아지고 있다고 한다. 왜냐하면 master 라는 단어가 노예제를 연상시키기 때문이라고 한다.
지금 내가 올리는 자료는 프로젝트가 아닌, 단순 필기노트 자료라서 브랜치 나눠가면서까지 관리할 필요는 없기에 기본 브랜치로 합쳐주겠다.
git checkout master
git branch main master -f
git checkout main
git push origin main -f
위의 명령어를 설명하자면,
그리고 나면 master 브랜치는 더 이상 쓸 필요없으니
git push origin -d master
라는 명령어로 깔끔하게 없애준다.