Home Git 이란?
Post
Cancel

Git 이란?

간략한 역사

  • 1965년 데니스 리치, 켄 톰슨 외 AT&T Bell 연구소에서
    PDP-7 기반 어셈블리어로 작성한 UNIX를 개발
  • 1973년 데니스 리치와 켄 톰슨이 C언어 개발 후, C 기반 UNIX 재작성
  • 1984년 리처드 스톨만이 오픈 소프트웨어 자유성 확보를 위한 GNU 프로젝트 돌입
    GNU == G NU is N ot U nix
  • GNU에는 Kernel 이 존재하지 않았고,
    Linux Kernal을 만들기 위해 Subversion을 쓰다 화가 난 리누스 토발즈는
    2주 만에 git이라는 버전 관리 시스템을 만들게 된다.

용어 정리

  Linux
  • 리누스 토발즈가 작성한 커널
  • GNU 프로젝트의 라이브러리와 도구가 포함된 운영체제
  • PC와 모바일, 서버, 임베디드 시스템 등 다양한 분야에서 활용
  • 다양한 배포판이 존재 Redhat, Debian, Ubuntu, Android
  Shell
  • 운영체제의 커널과 사용자를 이어주는 소프트웨어 (유닉스 쉘)
  • sh(Bourne Shell) : AT&T Bell 연구소의 Steve Bourne이 작성
  • csh : 버클리의 Bill Joy가 작성
  • bash(Bourne Again Shell) : Brian Fox가 작성
  • zsh : Paul Falstad가 작성
  • ㅤㅤ→ sh 확장형, 현재 가장 완벽한 쉘

  Cloud Remote Repository Services
  • Github : 비영리에서 Microsoft에 인수, 가장 유명한 서비스
  • Bitbucket : Atlassian이 서비스
  • ㅤㅤㅤㅤ→ jira, confluence, trello 등의 부가 도구와 유기적 작업
  • GitLab : GitLab이 서비스. 사설 서버 구성이 가능

Git

  • Version Control System - 분산형 버전 관리 시스템
  • 브런치를 통한 같은 파일을 여러명이 개발하는 병렬 개발이 가능
  • 로컬 저장소가 있기 때문에 원격 저장소의 복구가 가능
  • 인터넷이 연결되어 있지 않아도 개발이 가능
  • 사본을 로컬에서 관리하기 때문에 SVN보다 빠름
SVN(SubVersion)
  • 중앙 서버에 소스 코드와 히스토리를 저장
  • 서버에 장애가 생기면 모두의 작업이 중단
  • 클라이언트 - 서버 와 같은 모델

기본 용어

  • Repository : 저장소는 히스토리, 태그, 소스의 branch에 따라 버전을 저장한다
                         저장소를 통해 작업자가 변경한 모든 히스토리를 확인 할 수 있다
                         로컬 저장소(Local Repository)와 원격 저장소(Remote Repository)가 있다
  • Working Directory : 로컬 작업 폴더를 의미하며 필요한 파일들을 수정하거나 생성한다
  • Staging Area : add 명령어로 commit을 하기위한 파일들을 올려 놓는 곳이다.
  • Head : 현재 본인이 작업중인 Branch를 가리킨다.
  • Branch : 분기점을 의미하며, 작업을 할때에 현재 상태를 복사하여
                   새로운 Branch에서 작업을 한 후에 Merge를 한다.
  • Modified : 로컬에서 작업 후 데이터의 내용이 변경된 것을 의미한다.
  • Staged : Modified 된 파일이 스테이지 영역에 있음을 의미한다.
  • Committed : 로컬 저장소에 저장되었음을 의미한다.
  • Snapshot : Commit 하면 변경된 사항들이 스냅샷으로 저장됨 -m 은 변경 내용에 대한 주석
This post is licensed under CC BY 4.0 by the author.