Git & Github 기초 및 VS Code에서 깃허브 연동하기

Marco·2021년 11월 1일
1

Git

목록 보기
1/2
post-thumbnail

Git & Github

  • 깃허브는 버전 관리와 협업을 위한 코드 호스팅 플랫폼이다.

1. 먼저 깃허브에서 저장소(repository)를 만든다.

  • 깃허브와 VSCode 연결하기. VSCode터미널에 아래와 같이 코드를 입력하여 깃허브 로그인을 한다.
     ```js
     git config --global user.name "이름"
     git config --global user.email "이메일"
     ```

2. 브랜치 생성

  • 브랜치는 하나의 저장소에서 서로 다른 버전을 동시에 작업하는 방법이다. 각각의 브랜치는 다른 브랜치의 영향을 받지 않으므로, 여러 작업을 동시에 진행할 수 있다. 한 프로젝트에서 동일한 소스코드를 여러 개발자들이 함께 다룰 때, 브랜치를 통해 개발자들은 한 소스코드로 동시에 다양한 작업을 할 수 있다.
  • 2020년 10월 이후 깃허브 저장소의 디폴트 브랜치명은 'main'이다.(2020년 10월에 'Black lives matter 운동으로 일환으로 기존 디폴트 브랜치명이었던 master를 main으로 순화하여 변경했다고 한다.)

2-1. 브랜치 새로 만들기, 이름 바꾸기, 삭제하기

  • 새 브랜치 만들기 : git push origin NEW_BRANCH
    • A. 로컬 브랜치의 이름 변경 : git branch -m OLD_BRANCH NEW_BRANCH
    • B. OLD_BRANCH가 깃허브에서 디폴트 브랜치라면, 깃허브 저장소 설정에서 OLD_BRANCH의 디폴트 브랜치를 다른 브랜치에 넘겨준다. 디폴트 설정을 해제해주어야 아래와 같이 OLD_BRANCH에 대한 삭제 등을 할 수 있다.
    • C. OLD_BRANCH를 삭제하고 NEW_BRANCH를 푸시한다.
      •  git push origin NEW_BRANCH //새 브랜치 푸시
         git push origin --delete OLD_BRANCH //기존 브랜치 삭제
        또는 아래와 같이 한 줄에 푸시와 삭제를 한번에 할 수도 있다.
      •  git push origin :OLD_BRANCH NEW_BRANCH //푸시와 삭제를 한번에

3. 깃허브 저장소와 VS Code 로컬 저장소를 최초 연동하기(init, add, commit, remote add, push)

  1. git init : 초기화
  2. git add .
    • 온점은 현재 디렉토리의 모든 변경 내용을 지칭하고, git add 는 변경 내용을 스테이징 영역에 추가한다는 의미다.
    • 스테이징 영역은 작업 디렉토리와 깃 저장소의 변경 이력 사이에 징검다리 역할을 하며, 커밋할 준비가 된 변경 내용이 깃 저장소에 기록되기 전에 대기하는 장소라고 생각하면 쉽다.
    • 만약 변경 내용의 일부만 스테이징하고 싶다면 git add 파일경로를 사용하면 된다.
  3. git commit -m "커밋 메시지"
    • 커밋은 의미 있는 변경 작업들을 저장소에 기록하는 동작이다. 위에서 add하여 스테이징된 변경 내용을 commit하게 되면 저장소에 기록된다.
  4. git branch -M main
    • 현재 브랜치를 강제로 main 브랜치로 이동시키고 기존 브랜치는 삭제된다.
  5. git remote add origin 원격깃저장소주소
    • 로컬 저장소와 원격 저장소를 연결해주는 명령어이다. 하나의 Git 저장소에는 다수의 원격 Git 저장소를 등록할 수 있다.
    • 인자 중 origin은 원격 저장소의 이름이며 관습적으로 origin을 사용한다고 한다.
    • git remote -v 명령어로 현재 로컬 Git 저장소에 등록된 원격 저장소 목록을 확인할 수 있다.
  6. git push -u origin main
    • git push는 원격 저장소에 코드 변경내용을 업로드하기 위해 사용하는 명령어이다.
    • 인자 중 origin은 위에서 설정한 원격 저장소의 이름이고, main은 3번에서 설정한 브랜치의 이름이다. 즉, 원격 저장소 originmain 브랜치에 업로드한다는 의미다.
profile
블로그 이사 🚚 https://wonsss.github.io/

0개의 댓글