[WEB #6] Git & GitHub로 프로젝트 관리하기

Kayoung Kim·2021년 7월 14일
0

Web Development

목록 보기
7/18
post-thumbnail

Git

  • Git은 분산 버전 관리 시스템(Version Control System(VCS))으로 변경 사항을 추적하는 시스템이다.
  • git 외에도 CVS, mercurial 등 여러 VCS가 있으나, git은 가장 보편적으로 쓰이는 시스템이다.
  • 변경 사항을 파일 별로 모두 기록한다 (point!)
    => 그 시점에 (날짜, 시간, 작성자, 내용 등이) 어떤 상태였는지 캡쳐해두는 것(version), 즉 버전 관리를 해주는 것인데 덕분에 우리는 수정 사항이 생길 때마다 파일을 만들어 두지 않아도 되고, (최종, 최최종..)
  • 개발자들은 프로젝트의 변경 사항을 기록하고, 특정 시점의 버전으로 언제든 돌아갈 수 있다.
  • 이런 버전 관리 시스템은 많은 사람들이 효율적으로 함께 작업하고, 프로젝트를 중심으로 협업할 때 사용할 수 있다. 각 개발자가 자신만의 프로젝트 버전을 본인 컴퓨터에 갖게되고, 나중에 개별 버전의 프로젝트를 병합하여 기준이 되는 버전의 프로젝트에 적용 할 수 있게 된다.

코드 버전을 관리하는 이유

  1. 수정할 때마다 파일을 새로 만들면 관리가 힘들어진다.
  2. 언제든 이전 버전의 코드로 돌아갈 수 있다. (중요)
  3. 이력을 남기기 위해 (누가 짠 코드인가..!)
  4. 하나의 프로젝트를 두고 여러명의 개발자들이 효율적으로 협업할 수 있다.

GitHub

  • Git을 사용한 프로젝트들의 저장소 (깃허브의 캐릭터는 "옥토캣"이다.. 문어를 생각하면 이해가 된다!)
    *로컬 프로젝트 repository를 원격 클라우드 기반 GitHub 저장소에 업로드 할 수 있고, public repository 들을 통해 다른 개발자들과 교류할 수도 있다.
  • 개발자들의 Social Network : 유저 follow, 협업 등 교류의 장

Git vs GitHub

  • Git은 버전 관리 시스템으로, 시간이 지남에 따라 파일의 변경 사항을 추적하는 도구이고, GitHub은 Git을 사용하는 프로젝트를 위한 호스팅 서비스라고 볼 수 있다.
  • Git은 개별 컴퓨터에 설치되는 로컬 프로그램이고, GitHub는 깃으로 생성된 폴더를 올리는 공간이다. (따라서, 인터넷이 안되는 환경에서도 Git은 사용할 수 있다.)

가장 중요하고 기본적인 명령어

  • CLI(Command Line Interface). 즉, 명령어를 터미널로 직접 입력하는 방식으로 작성하는 것이 좋다. 좀 더 간편하게 사용하는 GUI(Graphical User Interface) 방식이 있지만, 서버로만 작업해야하는 경우 등 모든 환경에서 작업할 수 있는 개발자가 되어야 한다.💪
  1. git 시작 : git init *해당 폴더 안에 들어가야 함(중요!)
  • git init을 하면 git 파일이 생성된다 (.git)
  1. git 상태 확인 : git status
  • commit 전에 변경 사항들 확인할 수 있다.
  1. 파일 수정 이력 기록 준비 : git add
  • '장바구니 담기'와 같다. 아직 업로드 확정은 안 한 상태
  1. 파일 수정 이력 기록 : git commit
  • '구매를 확정한 상태'와 같다. commit을 하면 고유번호(commit hash)가 생기는데 고유번호 덕분에 우리가 전 버전으로 돌아갈 수 있는 있다.
  1. commit 이력 보기 : git log
  • git status와 구분해야 한다. commit한 내역들을 볼 수 있다.

0개의 댓글