깃허브 내에서 회원가입 진행
GitHub에서 계정 생성하기 - GitHub Docs
우리는 프로젝트 단위로 백업하게 될 것
폴더를 레파지토리라고 생각하면 됨
레파지토리가 있어야, 로컬 컴퓨터의 프로젝트 백업이 가능
create repository
버튼으로 생성하기
public
은 모두에게 공개
private
은 나만보기
readme
생성 여부 선택 가능
리드미 없이 하는 게 더 편해서 선택 안하고 추후 추가하는 걸 추천
set up github copilot
추후 사용하게 될 것
생성되면 다음과 같은 화면이 나타남
로컬에서 연결을 시켜주는 것
깃허브와 로컬을 연결해주는 명령어
git remote add 원격저장소(레파지토리)별칭 원격저장소url
git remove -v
를 통해서 연동 여부를 확인 가능
git push 원격저장소(레파지토리)별칭 원격저장소레포지토리명(main)
git push origin master를 하면 에러가 뜨지만
git push origin main을 하면 정상적으로 업로드가 되는 모습 확인 가능
업로드된 걸 확인할 수 있음
화살표가 main, origin/main 둘 다 가르키게 됨
아이디: 깃허브 유저 아이디
패스워드: 토큰 (깃허브에서 발급해주는 토큰)
토큰 확인
깃허브 세팅 → developer setting → personal access tokens → tokens → 상단의 generate tokens
용도는 마음대로
expiration은 최대한 no expiration은 말고
이전에 했던 작업(push)는 깃허브 레포에 올리는 거였다면,
이번엔 깃허브에 올라온 폴더를 로컬에 받아오는 작업 진행
소스코드 올리기 (로컬 → 깃허브)
연결
→ git remote add origin url소스코드 올리기
→ git push origin main소스코드 받아오기 (로컬 ← 깃허브)
연결
→ git clone소스코드 받아오기
→ git clone즉, git clone 명령어로 연결 + 소스코드 받아오기 한방에 가능
git clone 원격저장소url
연결된 것 확인 가능
소스코드 받아온 것 확인 가능
받아올 소스코드가 변경되었는데, 현재 깃허브로부터 로컬에 받아온 소스코드는 이전 버전임
이럴 때, pull을 사용해서 수정된 소스코드 받아올 수 있음
git pull 명령어를 사용하니, 깃이 아니라는 오류 메시지가 발생하게 됨
이런 경우는 어떻게 해결할까?
cd devcourse
폴더 생성 후, 오픈한 상태에서 cli로 클론하게 되면, 상위 폴더와 하위폴더(클론된 폴더) 둘 다 한번에 보이게 됨. 포커싱이 클론된 폴더에만 있는 게 아님.
gui로 하게 되면, 클론한 폴더의 상위폴더는 vscode에 바로 나오는게 아니라서(물론 cli처럼, 폴더 안에 하위폴더로 클론된 거 맞음) 하위폴더(클론 폴더)에 포커싱이 되는 이점이 존재
웰컴란에 clone git repository 존재(혹은 왼쪽 바의 소스 컨트롤 란에서)
버튼 누르면 화면 상당에 Clone from github 나옴
클론하기 원하는 레파지토리 url 입력하기
입력하고 나면, 로컬에서 원하는 폴더 선택하게 됨
-> CLI로 한 결과 (상위폴더까지 보임)
-> GUI로 한 결과 (하위폴더(=클론된 폴더)만 보임)
이 두 방법 알아야 하는 이유?
협업 시, 내 방법뿐만 아니라 팀원의 방법도 이해해야 하기 때문
gittest, gittestclone 두 폴더 생성해서 깃허브 실습해보기
전자는 코드 업로드, 수정하는 폴더
후자는 깃헙에 올라간 폴더 다운받아보는 폴더
전자에서는 test.txt 파일 생성 후
git status #상태 체크
git add test.txt
git commit -m "first commit"
git remote -v #레포랑 연결 체크
git remote add origin 레포url
git push origin main
다음의 순서로 test.txt 파일을 first commit이라는 커밋 메시지와 함께 레포에 업로드
후자에서는 레포에 올라간 gittest폴더를 내려받기 위해서
git status
git clone 레포url
확인하면, 클론된 걸 볼 수 있음
로컬 폴더 안에서 깃헙 폴더가 클론되어 내려받으면, 클론된 폴더의 상위폴더는 git init도 안되어있기에, 상위폴더에서 깃작업하면 오류 발생
따라서, 추가적인 깃작업은 클론한 하위폴더로 이동 후 진행
branch == 가지
프로젝트가 한 개가 있었다면, 복사해서 사용하게 됨
용도에 따라서 프로젝트 따로따로 복사해 분리한 게 브랜치
git status
git branch
(*)가 붙은 브랜치가 내가 현재 있는 브랜치
git branch 브랜치명
git checkout 브랜치명
지금 현재 브랜치에서 체크아웃해서 나가서 브랜치명으로 간다의 의미임