Git & Git HUB 간단 소개

0

GIT

목록 보기
1/2

1. Git의 정의

  • 형상관리 도구 (Configuration Management Tool) 혹은 분산 버전 관리 시스템

  • Git은 소프트웨어를 개발하는 기업의 핵심 자신인 소스코드를 효과적으로 관리할 수 있게 해주는 무료 서비스

  • 중앙 서버에 소스코드와 히스토리를 저장하는 SVN 방식과 달리 GIT 은 분산형으로 여러 개발 PC에 저장하는 방식

  • 중앙 서버에 장애가 발생하여도 로컬 저장소를 이용하여 복원 가능 및 관리 용이

  • 프로젝트 파일의 변경사항을 추적하는 시스템으로써, 프로젝트의 변경사항을 기록하고, 특정 시점의 버전으로 언제든 돌아갈 수 있음.

2. GIT 의 장점

  • 소스코드를 주고 받을 필요 없이, 같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능하다.

  • 즉, 여러명의 개발자가 각자 개발한 것을 나중에 병합하는 식으로 프로그래밍 할 수 있다.

  • 팀 프로젝트가 아닌, 개인 프로젝트일지라도 GIT을 통해 버전 관리를 하면 체계적인 개발이 가능해지고, 프로그램이나 패치를 배포하는 과정도 간단해집니다. (pull을 통한 업데이트, patch 파일 배포)

    3. Git과 GITHUB의 차이

  • 프로젝트를 진행하면서 소스 코드를 USB나 메일로 주고받는 건 엄청난 낭비 임과 동시에 보안성 위험이 있다.

    그렇기 때문에 프로젝트를 진행 함에 있어 형상 관리 도구를 사용 한다.

  • 형상 관리 도구를 사용하면 변경을 쉽게 되돌릴 수 있다. 소스코드를 과거의 특정 시점으로 되돌리거나, 특정 시점의 변경 사항을 취소하거나, 두 버전의 소스 코드를 비교하는 등의 일이 가능하다.

  • 이 역할을 수행하는 것이 GIT이며, 작업한 코드들을 저장하기 위한 서버를 지원하는것이 Git 웹호스팅인 GIT HUB이다.

  • pull request같은 이벤트에 반응하여 자동으로 작업(배포 등)을 실행하게 할 수 있다.

4. 용어 정리

  • Repository : 저장소를 의미하며, 저장소는 히스토리, 태그, 소스의 가지치기 혹은 branch에 따라 버전을 저장한다. 저장소를 통해 작업자가 변경한 모든 히스토리를 확인 할 수 있다.

  • Working Tree : 저장소를 어느 한 시점을 바라보는 작업자의 현재 시점.

  • Staging Area : 저장소에 커밋하기 전에 커밋을 준비하는 위치.

  • Commit : 현재 변경된 작업 상태를 점검을 마치면 확정하고 저장소에 저장하는 작업.

  • Head : 현재 작업중인 Branch를 가리킨다.

  • Branch : 가지 또는 분기점을 의미하며, 작업을 할때에 현재 상태를 복사하여 Branch에서 작업을 한 후에 완전하다 싶을때 Merge를 하여 작업을 한다.

  • Merge : 다른 Branch의 내용을 현재 Branch로 가져와 합치는 작업을 의미한다.

profile
# 개발 # 컴퓨터공학

0개의 댓글