Study/Frontend_study

[깃허브] (이미 깃허브에 저장된) 파일 또 수정하고 저장할 때, 생긴 오류를 해결하는 방법

ramiiiiii 2024. 5. 10. 16:03

파일을 수정한 후에 변경사항을 저장하고 Git을 사용하여 버전을 관리하고자 할 때, 터미널에서 다음과 같은 단계를 따라야 합니다. 이 단계는 파일을 추가하고, 커밋하고, GitHub 또는 다른 원격 저장소로 푸시하는 과정을 포함합니다.

 

*오류

git push origin main 을 입력하면, 아래와 같은 오류가 뜬다. 그러면 어떻게 하지?

 

git push origin main   //내가 입력한 거//

error: src refspec main does not match any

error: failed to push some refs to

'https://github.com/내 깃헙주소'

 

위의 오류는 Git이 main 브랜치를 찾을 수 없을 때 발생합니다.

이 오류를 해결하기 위한 몇 가지 가능한 원인과 해결책을 입니다.

 

1. 현재 브랜치 확인

터미널에서 현재 어떤 브랜치에 있는지 확인해야 합니다. 이를 위해 다음 명령어를 사용합니다.

git branch

이 명령어는 현재 존재하는 모든 로컬 브랜치를 보여주며, 현재 위치한 브랜치 앞에 *가 표시됩니다.

 

2. 브랜치 이름 오타

만약 main 브랜치가 로컬에 존재하지 않는다면, 브랜치 이름이 master로 되어 있을 수 있습니다. 초기에 생성된 많은 Git 리포지토리는 기본 브랜치 이름으로 master를 사용합니다. git branch의 결과를 확인하여 실제 브랜치 이름을 확인하세요.

3. 로컬에 main 브랜치 생성

만약 로컬에 main 브랜치가 없다면, 새로 생성할 수 있습니다. 만약 현재 master 브랜치만 존재한다면, 다음과 같이 master 브랜치를 main으로 이름을 변경할 수 있습니다.

git branch -m master main

그 후에, 변경된 브랜치를 원격 저장소에 푸시해야 합니다.

git push -u origin main

 

4. 커밋이 있는지 확인

새로운 리포지토리에서 아직 커밋이 없다면 위와 같은 오류가 발생할 수 있습니다. 최소한 하나의 커밋이 필요합니다. 변경 사항을 커밋하세요.

git add .
git commit -m "Initial commit"

그리고 다시 푸시를 시도합니다.

 

git push origin main

 

 

5. 원격 브랜치 설정

원격 저장소(origin)에 main 브랜치가 존재하지 않는 경우, 먼저 로컬에서 main 브랜치를 만들고, 그 브랜치를 원격 저장소에 푸시해야 합니다. 이는 -u 옵션을 사용하여 할 수 있습니다.

git push -u origin main

이 옵션은 원격 브랜치가 없는 경우 생성하며, 추후 'git push' 명령을 실행할 때 브랜치를 명시할 필요가 없게 합니다.

이 단계들을 통해 문제를 해결하고, 성공적으로 'main' 브랜치를 원격 저장소에 푸시할 수 있기를 바랍니다.

 

그리고

 

GitHub에 수정사항을 저장하고, 성공적으로 반영되도록 하려면 다음과 같은 단계를 따라야 합니다.

*글 [깃허브] 파일 업로드 수정사항 업데이트 방법(*터미널 활용) 참고

이 과정은 변경사항을 로컬에서 커밋하고, 그 변경사항을 원격 저장소에 푸시하는 것을 포함합니다.