이클립스와 git 연동하는 법은 이전 글에 있다.
https://ok-vamos.tistory.com/4
오늘은 Git이 뭔지 어떻게 사용하는지 복습해보자
깃은
버전관리 (형상관리 프로그램)이다.
버전관리?
버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시 점의 버전을 다시 꺼내올 수 있는 시스템.
버전 관리 시스템의 종류
- 로컬 버전 관리
- 중앙집중식 버전 관리
- 분산 버전 관리 시스템
로컬 버전 관리 = 많은 사람은 버전을 관리하기 위해 디렉터리로 파일을 복사하는 방법
중앙집중식 버전 관리
- CVS, Subversion, Perforce 같은 시 스템은 파일을 관리하는 서버가 별도 로 있고 클라이언트가 중앙 서버에서 파일을 받아서 사용(Checkout)한다.
- 치명적인 결점이 있다. 가장 대표적인 것이 중앙 서버가 한 시간 동안 다운되면 그 동안 아무도 다른 사람과 협업할 수 없고 사람들 이 하는 일을 백업할 방법도 없다. 그리고 중앙 데이터베이스가 있는 하 드디스크에 문제가 생기면 프로젝트 의 모든 history를 잃는다.
분산 버전 관리 시스템
- Git, Mecurial, Bazaar, Darcs 같은 DVCS에서의 클라이언트는 단순히 파일의 마지막 스냅샷을 Checkout 하지 않는다. 그냥 저장소를 전부 복제한다. 서버에 문제가 생기면 이 복제물로 다시 작업을 시작할 수 있다. 클라이언트 중에서 아 무거나 골라도 서버를 복원할 수 있다. 모든 Checkout은 모든 데이터를 가진 진정한 백업이다.
Git의 방식은 정보 취급 방식이다.
정보 취급 방식
- Subversion과 Subversion 비슷한 놈들과 Git의 가장 큰 차이점은 데이터를 다 루는 방법에 있다. 큰 틀에서 봤을 때 VCS 시스템 대부분은 관리하는 정보가 파일들의 목록이다. CVS, Subversion, Perforce, Bazaar 등의 시스템은 각 파일의 변화를 시간 순으로 관리하면서 파일들의 집합을 관리한다.
- Git은 데이터를 파일 시스템 스냅샷으로 취급하고 크기가 아주 작다.
- Git은 Commit하거나 프로젝트의 상태를 저장할 때마다 파일이 달라지지 않았으면 Git은 성능을 위해서 파일을 새로 저장하지 않는다. 단지 이전 상태의 파일에 대한 링크만 저장한다.
자 이제 Git의 상태 관리 방법을 알아보자
Git은 파일을 세 가지 상태로 관리
- Committed - 데이터가 로컬 데이터베이스에 안전하게 저장됐다는 것을 의미
- Modified - 수정한 파일을 아직 로컬 데이터베이스에 commit하지 않은 것을 의미.
- Staged - 현재 수정한 파일을 곧 commit할 것이라고 표시한 상태를 의미.
Working Directory
- 프로젝트의 특정 버전을 Checkout 한 것.
- Git Directory는 지금 작업하는 디스크에 있고 그 Directory 안에 압축된 데이터베이스에서 파일을 가 져와서 Working Directory를 만든다.
Staging Area
- Git Directory에 있으며, 단순한 파일이고 곧 commit 할 파일에 대한 정보를 저장. Index라고 불 리기도 함
- Git으로 하는 일
- Working Directory에서 파일을 수정
- Staging Area에 파일을 Stage 해서 commit 할 스냅 샷을 만든다.
- Staging Area에 있는 파일들을 commit해서 Git Directory 에 영구적인 스냅샷으로 저장
Git Directory에 있는 파일들은 Committed 상태 이다. 파일을 수정하고 Staging Area에 추가했다 면 Staged이다. 그리고 Checkout 하고 나서 수 정했지만, 아직 Staging Area에 추가하지 않았으 면 Modified이다.
Git에 대한 설명은 여기까지 하고
연동하는거 이외의
.gitignore 설정하는법
commit
branch
merge
하는 법 알아보자
.gitignore 추가는 다양한 방식이 있는데
필자는 위의 방식을 쓴다.
commit 하는 법은
새로운 Branch생성과 이동
Merge (병합) 하는법
'Dev > Github&Git' 카테고리의 다른 글
이클립스 Github 연동하기 (0) | 2021.09.06 |
---|