TIL wecode 13. Git & Github

이조은·2020년 7월 29일
0

TIL wecode

목록 보기
12/36
post-thumbnail

Git

공식적인 명칭은 분산 버전 관리 시스템(VCS). 한마디로 프로젝트 파일의 변경 사항을 추적하는 시스템이다.

이를 통해 개발자들은 프로젝트의 변경 사항을 기록하고, 특정 시점의 버전으로 언제든 돌아갈 수 있다. 깃을 씀으로써 많은 사람들이 효율적으로 함께 작업하고, 프로젝트를 중심으로 협업할 때 사용할 수 있는 것이다. 각 개발자가 자신만의 프로젝트 버전을 본인 컴퓨터에 갖게 되는데, 나중에 이러한 개별 버전의 프로젝트를 병합하여 기준이 되는 버전의 프로젝트에 적용할 수 있게 된다.

GitHub

GitHub은 Git repository를 위한 호스팅 플랫폼이다.

만약 깃헙이 없다면 서버를 따로 만들어서 올려야 하는 것이다. 이렇게 되면 다른 개발자와 협업을 하기가 어려워지고 코드 공유도 쉽지 않아진다.

Git vs GitHub

Git은 버전 관리 시스템으로, 시간이 지남에 따라 파일의 변경 사항을 추적하는 도구이고, GitHub은 Git을 사용하는 프로젝트를 위한 호스팅 서비스를 뜻한다.

Local repository vs Remote repository

Git repository는 Git으로 관리하는 프로젝트 저장소를 의미하는데 크게 두 종류로 나눌 수 있다.

Local repository는 본인의 컴퓨터에 저장된 로컬 버전의 프로젝트 저장소를 의미하고, Remote repository는 내 컴퓨터가 아닌 외부 (일반적으로 원격 서버) 버전의 프로젝트 저장소를 말한다. 다른 사람과 협업할 때 이곳에서 서로 코드를 공유하고, 로컬 버전의 프로젝트와 병합하고 변경 사항을 적용할 수 있는 곳이다.

Branches

브랜치는 독립적으로 어떤 작업을 진행하기 위해 필요하다.

다른 사람과 협업을 할 시에, 먼저 메인 브랜치에서 자신의 작업 전용 브랜치를 만든다. 그리고 각자 작업을 진행한 후, 작업이 끝난 사람은 메인 브랜치에 자신의 브랜치의 변경 사항을 적용한다.

Git에서 헷갈리는 용어

  • commit: 프로젝트의 현재 상태를 나타내는 체크포인트 또는 스냅샷. 현재 버전의 코드를 커밋에 저장한다고 생각하면 되고, 일반적으로 커밋을 남기는 시점은 코드를 수정한 후이다.
    NOTE. 코드를 커밋하려면 우선 코드를 staging area에 추가해야 한다.
  • staging area: 어떤 변경 사항이 저장소에 커밋되기 전에, 반드시 거쳐야만 하는 중간 단계. 일부분만 커밋, 충돌을 해결할 때, 다시 커밋할 때 등등 유용하게 쓰이는 저장 공간이다.

Git 명령어

  • 저장소 만들기
  1. 터미널에서 프로젝트 폴더로 이동
  2. git init - .git 디렉토리가 생성되었다. 이제 git이 현재 저장소에 대한 모든 변경 사항을 추적/관리하게 된다.
  • 상태 확인
  1. git status - repository에서 어떤 변경 사항이 있는지 보여준다.
  • staging area에 파일 추가하기
  1. git add file.js - 특정 파일만 추가한다.
    1-1. git add file.js file2.js file3.js - 여러 개의 파일을 추가한다.
    1-2. git add . - 모든 파일을 한 번에 추가한다.
  • 커밋 남기기
  1. git commit -m "Commit message" - 커밋과 동시에 변경 사항을 설명하는 메세지를 작성한다.
  • 커밋 히스토리
  1. git log - 프로젝트의 모든 커밋 내역을 보여준다.
  2. git checkout <commit-hash> - 특정 커밋 시점의 코드로 되돌리고 싶다면.
  • 브랜치 생성
  1. git branch <new-branch-name> - 새로운 브랜치를 생성한다.
    NOTE: 보통 코드를 개선하고 새로운 실험 기능을 추가하는 등의 작업을 할 수 있는 development브랜치를 만드는 것이 좋다.
  • 브랜치 전환하기
  1. git checkout <branch-name> - 다른 브랜치로 이동한다.
    1-1. git checkout -b <new-branch-name> - 브랜치 생성과 동시에 해당 브랜치로 이동 한다.
    NOTE: 프로젝트에 존재하는 모든 브랜치를 확인하고 싶다면 git branch
  • 브랜치 병합하기
  1. git merge <branch-name> - 기준이 되는 master 브랜치에 특정 브랜치의 새로운 기능을 적용시킬 때 merge를 사용한다.
  • 브랜치 삭제하기
  1. git branch -d <branch-name>
profile
싱글벙글

0개의 댓글