[Github 사용방법]

양루피·2023년 10월 22일

Git&Github

목록 보기
5/6
post-thumbnail

로컬저장소와 원격저장소

저장소: 파일이나 디렉토리를 저장하는 장소. 자신의 컴퓨터에 있는 로컬 저장소와, 서버 등 네트워크에 있는 원격 저장소가 있다. 기본적으로 로컬 저장소에서 작업을 수행하고, 그 결과를 격 저장소에 저장한다.

로컬에 원격 저장소 추가 후 푸쉬 하기


GitHub 레포지토리 생성 → 나는 이미 로컬에 git으로 관리되고 있는 프로젝트가 있기 때문에 하단의 명령어 복사하기

  • git remote add origin {원격 저장소 주소}
    로컬의 Git 저장소에 원격 저장소로의 연결을 추가하는 것.
    지금은 원격 저장소가 깃허브이니 주소에 우리의 깃허브 레포지토리가 들어가는 것이다.
    (원격 저장소 이름은 흔히 origin을 사용. 다른 것으로 수정 가능)
  • git branch -M main
    나의 main 브랜치 이름을 master에서 main으로 바꾸는 것.
    GitHub의 권장사항이다.

  • git push -u origin main
    push는 내 컴퓨터에 있는(=로컬저장소) commit 내용 중에 아직 원격 저장소에 없는 것들을 원격 저장소에 업로드 해주는 기능이다.
    -u는 어느 원격 브랜치에 push할 지 기본으로 세팅해주는 기능이다.
    ex) 내 프로젝트의 main 브랜치에서 push를 할 때, 어느 원격의 어느 브랜치에 푸쉬할지 기본으로 세팅 해준다. 위의 명령어 대로라면 앞으로 push를 할때마다 origin 원격저장소의 main 브랜치에 될 것이다.


해당 명령어를 터미널에 복붙한 후 깃허브를 새로고침하면 내 프로젝트 파일들이 보인다.

GitHub에서 프로젝트 다운받기

  1. 프로젝트를 다운받기 원하는 폴더로 이동
  2. 우클릭 후 git bash here 클릭
  3. 코드 복붙 후 git clone {복사한 주소}
    clone은, 프로젝트 파일들 + git의 관리내역까지 나의 컴퓨터로 복사해주는 기능이다.
  4. VsCode 또는 인텔리제이에서 새프로젝트 열기 → 폴더열기 → 새로 생긴 폴더 클릭

원격으로 커밋 밀어올리기(push)


현재 로컬에서 Add Evie to Leopards를 commit한 상태. 때문에 main과 origin의 commit 상황이 다름

  • git push
    내 컴퓨터의 변화를 github에 올리기 위해서는 push를 해야한다. (push: 로컬의 변화를 원격으로 보내서 업데이트 하는 것)

git push 전

git push 후

원격의 커밋 당겨오기(pull)

  • git pull

github에 있고 내 컴퓨터에 없는 것을 내 컴퓨터 프로젝트로 당겨오기.

로컬에서 브랜치 만들어 원격에 push 하기

main만 있던 프로젝트에서 from-local 브랜치를 새로 만들고 git push를 하면 오류가 뜬다. 왜? 어디에 push해야할지 모르기 때문이다.

  • git push -u origin from-local
    origin이라는 원격에 from-local 브랜치를 만들어서 push하라고 한다. github를 새로고침해주면 main, from-local 이렇게 두개의 브랜치가 생긴걸 볼 수 있다.

원격의 브랜치까지 로컬에서 조회하기

git branch --all 혹은 git branch -a


빨간색 remotes 부분이 원격 저장소의 브랜치들

원격의 브랜치를 로컬에 받아오기

  • git fetch
    원격의 변경사항 확인하기.
  • git branch -a
    fetch로 변경사항을 확인했으므로 원격의 새로운 브랜치까지 조회된다.
  • git switch -t origin/from-remote
    원격에 있는 브랜치를 로컬 브랜치로 받기. 원격에도 from-remote가 생긴다.
    로컬에 같은 이름의 브랜치를 생성하여 둘을(원격에 생긴 브랜치와 로컬에 만든 같은 이름의 브랜치) 연결하고 switch하기.

원격의 브랜치를 삭제하기

  • git push {원격 이름} --delete {원격의 브랜치명}

+로컬의 브랜치는 git branch -d {브랜치 이름}으로 삭제가 가능하다.

0개의 댓글