IT 연구소

다시 정리하는 Git의 개념

ron_nie 2024. 2. 16. 14:29
728x90

버전관리

  • 소프트웨어 파일의 변화를 기록하는 것
  • 시간이 지나서도 특정 시점의 파일을 불러올 수 있다는 것
  • 최신 파일에 문제가 있을 때, 최신 파일을 삭제하고 예전 버전으로 돌아갈 수 있는 것
  • 두 시점의 파일을 비교할 수 있는 것

버전관리 시스템 - VCS(Version Control System)

장점

  • 각 파일을 이전 상태로 되돌릴 수 있다.
  • 시간에 따라 수정 내용을 비교해 볼 수 있음
  • 누가 수정했는지 파악 가능
  • 언제 파일을 생성했는제 추적 가능

유형

  • 로컬 버전 관리
    • 로컬 환경에서 사용할 수 있는 버전관리
  • 중앙집중식 버전 관리
    • 협업을 위한 버전 관리
  • 분산 버전 관리
    • 각 클라이언트가 모든 정보를 다 가지고 있는 버전 관리

분산 버전 관리 - Git

  • 각 클라이언트는 저장소를 전부 복제하여 가지고 있음
  • 서버가 죽거나 오프라인 문제를 해결할 수 있음
  • 아무 클라이언트를 골라서 서버를 복원할 수 있음

Git 기초

Git

  • 파일을 스냅샷으로 취급하고 크기가 아주 작음
  • 커밋, 저장할때 순간이 포인트
  • 파일이 달라지지 않으면 성능을 위해 새로 저장하지 않음
  • 이전 상태의 파일에 대한 링크만 저장

로컬 환경에서 작업 가능한 깃

로컬에서 명령어를 수행할 수 있기 때문에 네트워크가 따로 필요없다. 따라서 속도가 매우 빠르다

네트워크가 연결되기 전까지 로컬 환경에서 커밋을 만들어주고, 네트워크가 연결되면 리모트 저장소에 푸쉬하면 된다.

깃의 세가지 상태

  • Modified : 수정한 파일을 로컬 데이터베이스에 커밋 안한 상태
  • Staged : 현재 수정된 파일을 곧 커밋할 것이라는 상태
  • Commited : 데이터가 로컬 데이터베이스에 안전하게 저장된 상태
반응형