깃허브에 내가 한 프로젝트 올리는 법

⭐ 아엔 Aen·2025년 9월 1일

데브코스

목록 보기
2/131

git push origin master - 이게 뭘까용

보통 깃허브에서 레포지토리르 새로 만들면, 이렇게 명령어가 뜬다.

하지만 이렇게 명령어를 쳤을 경우

이런 오류를 볼 수 있다.

이런 오류는 왜 뜨는 걸까?

git push 실행 시 발생하는 'error: src refspec main does not match any' 오류는 원격 저장소에 main 브랜치가 없거나 로컬 저장소에 커밋이 없는 등, push하려는 브랜치에 해당하는 내용이 없을 때 발생합니다. 즉, 이 오류는 로컬 브랜치에 커밋이 없거나, 브랜치 이름이 원격 브랜치와 일치하지 않을 때 발생합니다.

이 문제를 해결하려면, 먼저 git branch 명령어로 로컬 브랜치 이름을 확인하고, 없다면 git checkout -b main으로 main 브랜치를 생성한 후 변경사항을 커밋하고 다시 push해야 합니다

원인: Git 저장소에 아직 아무런 커밋도 하지 않은 상태에서 push를 시도할 때 발생합니다.


깃허브 연동하기

  1. 깃허브 새로운 레포지토리 생성
  2. 연결 remote add
  3. 소스 코드 올리기 push

깃허브에서 소스코드를 가져오는 것을 클론(clone) 한다 라고 함.
가져오는 방법은,

git clone [해당 클론 주소]

그럼 클론이 된건데,

불러왔으니까 그걸 내가 막 수정하고 추가한 다음
다시 올려야 하잖아!
그때 어떻게 하는거냐면

수정을 했으니까 다시 커밋을 해줘야해!
그럼 어떻게 해? vscode 왼쪽 세번째에 보면 브랜치 문양에서 changes에 modified 라고 해당 파일이 올라와있을거야.
그럼 그 파일을 가지고 +를 눌러서 add를 해주면 되고, 그 다음에 커밋할 내용을 작성해주고, 커밋을 완료하면,

일단 여기까지하면 내 컴퓨터안에서는 커밋이 완료가 된거야!!

그럼 이제 깃허브에 올려야겠지?
그게 push 라는 거야!

그래서 터미널을 키고

git push origin main

을 치면 되지만!!!!

지금 커밋이 내 컴퓨터엔 잘 되어있나? 부터 확인을 한 번 해봐.

그 명령어는

git log

그리고 그 다음에 git push origin main 을 치면 돼.

깃허브에 와서 확인을 해보면 아마 커밋 내용과 함께 새롭게 변경된 부분이 보일꺼야.

자 그럼 변경했으니 원래 작업한 곳에서도 다시 불러와야겠지?

그게 뭐냐하면,

바로

git pull origin main

이야. 이 명령어를 치면 커밋이 변경된 부분이 있다면, 그 부분을 불러오는 명령어야 (여기서 origin은 원격저장소 별칭이야)

만약 안된다면,

해당 파일로 cd 해서 위치를 변경 후에

git remote -v

git remote remove origin

해서 지우면 돼.

이게 왜 이런 문제가 생기냐면
폴더를 하나 생성하고, 그 폴더안에서 내가 클론을 해오면,
폴더안에 클론폴더가 생기는 것이기 때문에
상위 폴더는 깃과 연결이 되어 있지 않아.
그래서 처음 클론을 받아와야한다고 하면,
아무것도 없는 창에 바로 Clone Repository를 불러오면 돼!!


브랜치 (완전 중요!!!!!!)

브랜치를 하나만 사용해도 괜찮고,
여러 브랜치를 만들어서, 이건 로그인하는 브랜치, 이건 메인 기능 브랜치, 이건 서브 기능 브랜치 등으로 나눠서 관리해도 괜찮아.

git status : 지금 add 됐나? add 안됐나? 언트랙킹된 파일이 있나? 알고 싶을때 치는 명령어

git branch : 브랜치 목록을 확인하는 명령어 (*가 붙어있는 것은 이 브랜치에 머물고있다 라는 것 - c언어의 포인터개념)

위에서 브랜치는 여러개를 만들어서 관리할 수 있다고 했는데,
만약에 내가 git branch를 입력해서 확인해보니, main브랜치에 있고, 만약 suv브랜치가 있어서 그 suv브랜치로 이동해서 작업을 하고 싶어(풀을 받는다던가 등등) 그러면 그럴때 브랜치를 이동해야하는데, 그 이동하는 명령어가

git checkout [다른브랜치이름]

입니당.
이렇게 이동해서 브랜치를 바꾸면 되고,

만약 지금은 main 브랜치 밖에 없어서 새로운 브랜치를 만들고 싶어!

그럴때쓰는 명령어가

git branch [만들고싶은 브랜치이름]

이렇게 작성해주면 돼! ex) git branch dev, git branch suv

이렇게 하고 git branch를 하면 main과 dev 브랜치가 생겼을 것이고,
dev 브랜치로 이동하고 싶으면 git checkout dev를 작성하면 dev브랜치로 포인터가 옮겨가게 돼.

또 main으로 옮기고 싶으면 git checkout main 해도 되지만
그냥 전에 사용했던 브랜치로 옮겨가고 싶어요. 하면

git checkout -

이렇게 그냥 하이푼을 쓰면 적으로 이동하게 돼!

profile
Dive Head First | Work Super Hard | Attract Great People

0개의 댓글