[Git] 자주 쓰는 Git 명령어 정리2 (GitHub 관련)

Seung Hyeon ·2023년 5월 16일
2

Git

목록 보기
3/4
post-thumbnail

Git Clone

git clone [url] : 입력한 URL에 있는 Github 저장소의 내용을 다운로드

  • 클론할 때 가장 먼저 해야할 일: 클론할 공간(폴더)에 Git 저장소(.git)가 있는지 먼저 확인
    • git status 로 Git 저장소(.git) 있는지 확인 (저장소가 없어야함 : not a git respository)

    • ls 로 폴더에 파일 있는지 확인 (아무것도 없는 폴더 추천)

    • git clone [url]ls 명령어로 다운받은 폴더명 확인

    • cd [폴더명]ls 명령어로 다운받은 파일들 확인


    • 다시 git status 명령어롤 실행하면, GIt 저장소가 자동으로 생성된 것을 확인할 수 있음

    • git log 을 통해 깃허브에서 커밋한 기록들을 다 볼 수 있음


Github 설정

‼️ 깃허브 가입 이메일 주소와 깃 작업에 사용할 이메일 주소(git config user.email)가 같아야함


Github Repo에 코드 올리기 - Git Remote & Push

< 이미 작성된 코드를 새 Github 저장소에 올리기 >

Git Remote - 원격 설정

: 비어있는 Github 저장소를 로컬로 가져오기 위해서는 원격 설정 필수

  • git remote add [name] [url] : “안녕, 깃. 이 URL을 이 이름으로 기억하렴”
    • 로컬 깃 저장소에서 [name]이라고 불리는 깃허브 URL
    • name 보통은 origin으로… (origin 용어는 일반적인 깃 원격 이름)
      • 물론 아무 이름이나 붙여도 됨
      • master가 브랜치의 일반적인 이름이듯이, origin도 그냥 일반적인 이름
  • git remote -v : 현재 로컬 저장소와 연결되어 있는 원격 저장소 주소 출력
  • git remote set-url origin [변경할 repo.git] : 원격 저장소 주소 변경
  • git remote rename [old-name] [new-name] : 원격 이름 수정
  • git remote remove [name] : 원격 삭제
  • git remote update : 원격 저장소 브랜치 업데이트

 
Git Push

: 깃허브에 코드 올리기

  • git push [remote-name] [branch] : 깃에게 어디로 푸시할지, 대상 저장소 및 푸시할 브랜치를 호출

    • ex) git push origin master git push origin branch2
    • 반드시 해당 브랜치에서 푸시해야함 (switch 이용) ‼️‼️
    • 요즘은 master → main으로 바뀌는 추세
      ▼ 각 브랜치에 담겨있는 코드들을 확인할 수 있다.
  • git push [remote-name] [현재 local branch-name]:[올리고 싶은 branch-name] : 원하는 원격 브랜치에 푸시하기

    • (예시)
      cats branch의 코드를 깃허브에서는 master branch에 올리고 싶을 때 :
      git push origin cats:master
  • git push origin -d [branch-name] : 깃허브의 원격 브랜치 삭제하기

process

  1. 로컬 폴더에 원격이 생성되어있는지 확인

    • git remote -v 명령어 실행 후 아무것도 안떠야함

      ※ 이미 클론한 저장소(폴더)에는 원격이 생성되어있음

    • git remote add origin https://github.com/snghyun331/study-git.git

    • 다시 git remote -v 명령어로 연결되었는지 확인

  2. 깃허브에 코드 올리기 (Push)

    • git push -u origin master

Git Fetch & Pull

→ 내 로컬 저장소에는 아직 없는 새 변경사항(커밋)을 얻을 수 있는 방법

 
Git Fetch

: 새 변경사항(커밋)을 로컬 working directory에 다운로드하지만, 그것들을 디렉토리에 있는 기존 파일들과 병합하지는 않음

: 그냥 새 변경사항이 뭔지 보려는 목적으로 많이 쓰임

git fetch [remote-name]

git fetch [remote-name] [branch-name]

(순서)

  1. git fetch origin

  2. git status 로 변경사항 있나 확인

    On branch movies
    Your branch is behind ‘origin/movies’ by 1 commit, and can be fast-forwarded.
    (use “git pull” to update your local branch)

    ▲ movies 브랜치에 1 커밋이 새로 생겼다. (자신이 현재 movies 브랜치에 있는 가정 하에)

  3. git checkout origin/movies → 요 명령어를 사용하면 VSCode에서 확인할 수 있음

    • ※ 실제 브랜치에는 없고, 원격 브랜치에만 생김 (즉, 통합된 것은 아님)
  4. git log로도 확인 가능

 
Git Pull

: 새 변경사항(커밋)을 로컬 워킹 디렉토리에 통합하고 싶을 때 쓰임

git pull [remote-name] [branch-name]

or

git pull → 현재 로컬 브랜치 = 업데이트 되어서 가져오고 싶은 파일의 브랜치

‼️‼️ 주의할점

→ 반드시 현재 브랜치 환경과 branch-name이 같아야함


README 파일 생성

  1. touch README.md
  2. ~~ 수정
  3. git add README.md
  4. git commit -m “add README file”
profile
안되어도 될 때까지

0개의 댓글