GitHub와 로컬 PC를 연결하고
코드를 올리고(push), 내리고(pull/clone),
처음으로 GitHub에 업로드하는 과정을 실습하며 정리한다.
이 문서 하나만 보면 다음을 다시 할 수 있도록 한다.
- GitHub 최초 업로드
- GitHub에서 프로젝트 내려받기(clone)
- push / pull 기본 흐름
- 중첩 저장소(.git 두 개) 방지
- Windows
- VS Code
- GitHub 개인 계정
이미 내 컴퓨터에 프로젝트 폴더가 있고,
이걸 처음으로 GitHub repository에 올릴 때 사용하는 방법
git clone과 다르다.
git clone: GitHub → 내 컴퓨터- 이 섹션 : 내 컴퓨터 → GitHub
git init- 현재 폴더를 Git 저장소로 만든다
.git폴더가 생성된다
git add ..(점)은 모든 파일을 의미한다- 특정 파일만 추가하고 싶다면:
git add index.htmlgit status- 어떤 파일이 staging 상태인지 확인 가능
git commit -m "first commit"-m은 message의 약자"first commit"은 예시일 뿐, 아무 메시지나 가능
git remote add origin https://github.com/hoorak17/vacation-practice.gitgit remote -v- 연결된 GitHub 주소가 출력되면 성공 🎇
git push origin mastermaster자리에 브랜치 이름이 들어간다- 기본 브랜치가
main이면:
git push origin main아직 내 컴퓨터에 프로젝트가 없을 때만 사용
- Desktop
- repos 폴더
- 아직 Git이 아닌 폴더
git clone https://github.com/hoorak17/vacation-practice.git- 동일한 이름의 폴더가 생성된다
.git폴더가 자동으로 생성된다- GitHub(origin)가 자동으로 연결된다
.git이 있는 폴더(VS Code에서 연 프로젝트)에서 실행하면 중첩 저장소가 생긴다
이미 GitHub와 연결된 프로젝트에서 변경 사항 업로드
git add .
git commit -m "커밋 메시지"
git push이미 연결된 프로젝트에서 최신 변경 사항 가져오기
git pull- GitHub repo를 먼저 만들고
- 로컬에서
git init을 따로 실행하면 - 서로 다른 히스토리가 생성되어 push가 거절된다
해결 방법:
git push origin master:main --force- PR은 허가 요청이 아니다
- GitHub가 두 브랜치를 합칠지 안내하는 화면이다
- 개인 실습 repo에서는 무시해도 된다
git branch -M main
git push -u origin main- repo 하위 폴더에서 다시
git init또는git clone실행 시 발생 - 프로젝트당
.git은 하나만 존재해야 한다.