github 저장소에 프로젝트를 계속해서 작업하다보면 commit들이 엉망이 될 수도 있고, 여러 골치 아픈 문제가 생기는 경우들이 있습니다.
이 때 저장소를 삭제하고 다시 만들어 해결할 수도 있지만, 그러지 않고 초기화 하는 방법을 본 포스팅에서 다루어 보겠습니다.
git init
바로 “git init” 명령어를 사용하는 것인데요.
“git init”은 새로운 저장소를 만들때 쓰이는 명령어입니다.
물론, github에서 이미 생성해 놓은 저장소를 “git clone” 명령어를 사용하여 시작하는 방법도 있지만, “git init” 명령어를 통해 로컬 컴퓨터에 있는 디렉토리를 github 저장소로 만들어줄 수도 있습니다.
아래에서 해당 명령어를 이용한 원격 저장소 초기화 방법과 로컬 디렉토리로 원격 저장소 생성 방법을 같이 다루어 보겠습니다. (과정이 거의 동일합니다)
저장소 초기화/생성 방법
초기화를 하는 것이면 0-2를 무시하시고 그게 아닌 로컬 디렉토리를 저장소로 생성하고 싶다면 0-1을 무시해주세요.
0-1. 먼저 초기화 하고 싶은 로컬 저장소로 이동한 후, 다음 명령어를 실행하여 존재하는 .git 디렉토리를 삭제해주세요.
rm -rf ./.git
실행 후 “git status” 명령어를 실행해보고 “not a git repository”라는 더 이상 저장소가 아니다라 하는 메시지가 나오면 됩니다.
0-2. 처음으로 로컬 디렉토리를 원격 저장소로 만들고 싶다면, github에서 원격 저장소 생성을 먼저 해주셔야 됩니다.
github에 로그인하신후 Dashboard에서 “New” 또는 “Create a new repository”를 클릭후 원격 저장소의 이름과 공개 여부 등을 설정하시고 “Create repository”를 눌러줍니다.
1. 이제 초기화 또는 저장소 생성을 하려는 로컬 디렉토리에서
git init
을 실행해주세요.
“Initialized empty Git repository in <로컬 디렉토리 위치>”라는 메시지가 출력됩니다.
2. 이제 커밋을 해서 원격 저장소에 저장할 수 있게 해야 합니다. 다음을 실행하여 디렉토리에 있는 모든 파일들을 추가하고 커밋을 생성합니다.
git add .
git commit -m "first commit"
3. 이제 위에서 생성한 커밋을 push하기 위해 다시 초기화 시키는 저장소와 연결해야 합니다.
이 때 원격 저장소의 url(주소)이 필요한데 간단하게 github 저장소 페이지에서 확인가능합니다.
“< >Code” => [HTTPS, SSH, GitHub CLI] 중 하나 선택 => “복사”
초기화가 아닌 처음 생성이라면, 위에서 처음 생성한 github 원격 저장소 페이지에서 보이는 [HTTPS, SSH] 주소 중 복사해주세요.
그리고 다음 명령어를 실행해서 연결해주세요.
git remote add origin <복사한 원격 저장소 url>
“git remote -v” 명령어를 실행했을때 다음과 같이 복사한 원격 저장소 url이 나오면 성공입니다.
4. 위에서 생성한 커밋을 연결된 원격 저장소에 push 합니다.
git push --force --set-upstream origin main
이제 github 원격 저장소 페이지에 가보면 성공적으로 초기화 또는 로컬 디렉토리 내용과 똑같이 새로 생성이 된 것을 확인하실 수 있습니다.