Git

이혜령·2023년 9월 5일
0

현장실습

목록 보기
4/8
post-thumbnail

Git

2005년에 리누스 토르발스에 의해 개발된 분산 버전 관리 시스템(Distributed Version Control Systems - DCVS)

  • 컴퓨터 파일의 변경 사항을 추적하고 여러명의 사용자들 간에 파일에 대한 작업을 조율하는데 사용 된다.
  • 주로 여러명의 개발자가 하나의 소프트웨어 개발 프로젝트에 참여할 때, 소스 코드를 관리하는데 주로 사용한다.

Git의 장점

  • 인터넷 연결이 되지 않은 곳에서도 개발을 진행할 수 있으며, 분산 버전 관리이기 때문에 중앙 저장소가 삭제되어도 원상 복구가 가능
  • 각각의 개발자가 Branch에서 개발한 뒤, 본 프로그램에 합치는 merge 방식을 통한 병렬 개발 가능

Git의 기본 용어

용어기능
Repository저장소, 작업자가 변경한 모든 히스토리를 확인 가능
Working Tree저장소를 어느 한 시점을 바라보는 작업자의 현재 시점
Staging Area저장소를 커밋하기 전에 커밋을 준비하는 위치
Commit변경된 작업 상태를 저장소에 저장하는 작업
Merge다른 Branch의 내용을 현재 Branch로 가져와 병합하는 작업
Head현재 작업중인 Branch

Git의 기본 명령어

명령어기능
git help도움말, 'git help 명령어'로 입력시, 해당 명령어에 대한 도움말을 출력
git initgit 저장소를 초기화
git status저장소 상태 체크, 저장소 안에 있는 파일, 커밋이 필요한 변경 사항,
현재 작업하고 있는 브랜치 등 상태 정보 출력
git branch새로운 브랜치 생성
git addstaging 영역에 변경 내용 추가
git commitstaging 영역에 있는 변경 내용 묶음 및 정의
git logcommit 내역 확인
git push로컬 컴퓨터에서 서버로 변경 사항 보냄
git pull서버 저장소로부터 최신 버전을 끌고옴
git clone서버 저장소의 데이터를 로컬 컴퓨터로 복사
git checkout원하는 브랜치로 이동
git merge개별 branch에서 마친 작업을 master branch로 병합

Git과 코드 저장소

Github

2008년에 시작한 최초의 git 저장소 호스팅 플랫폼

  • Git, SVN, Mercurial(HG), TFS를 지원한다.
  • CI/CD(Github Actions)
  • Vue.js, Dokcer, Tensorflow, React 등 많은 라이브러리가 Github에서 배포하고, 유지 보수를 하고 있다.

GitLab

Gitlab사에서 개발한 2014년에 시작한 git 저장소 및 CI/CD, 이슈 추적, 보안성 테스트 등의 기능을 갖춘 웹 기반의 데브옵스 플랫폼

  • Git을 지원한다.
  • 개발 외 DevOps 환경 구축에 용이하다.(이슈 추적, 테스트, CI/CD 파이프 라인)
  • 3rd party 플러그인/툴 없이 자체 CI/CD를 사용한다.
  • Kubernetes 기반 배포 및 모니터링

Bitbucket

Atlassian이 개발/제공한 git 버전 관리 시스템을 사용하는 소스 코드 및 개발 프로젝트를 대상으로 하는 웹 기반 버전 관리 저장소 호스팅 서비스

  • Jira와의 연동성이 좋다.
  • Jenkins, CircleCI 같은 CI/CD 도구를 제공한다.
  • 코드 리뷰, 테스트, 분석 도구를 활용한 Pull Request 단계에서의 Code insights가 가능하다.
  • 계정의 비공계 컨텐츠 clone, push 작업시 2단계 인증 절차를 거친다.

Github, GitLab, Bitbucket?

Github

  • 가장 많은 Integration을 지원한다.
  • 가장 많은 오픈 소스 저장소 보유하고 있다.
  • 가장 안정적인 서버 상태를 제공, Github Status에서 실시간 확인 가능하다.
  • 한 프로젝트에는 1GB, 파일은 100개라는 용량 제한이 있다.

GitLab

  • 가격면에서 합리적이다.
  • Private Repo 무료, 인원 제한이 없다.
  • Disk space per Repo가 10GB다.(LFS 용량 포함)
  • 설치형이 무료며, 대부분의 필요한 기능을 제공한다.

Bitbucket

  • Jira, Hipchat과의 연동이 편하다.
  • Private Repo를 무료 제공한다.
  • 한 레포지토리당 1GB라는 용량 제한이 있다.

각각의 장단점에 맞춰 본인의 상황에 맞는 것을 사용하면 된다.

profile
배운 거 대충 정리하는 블로그

0개의 댓글