Git 한글 공식사이트 : https://git-scm.com/book/ko/v2

형상관리(Version Control Revision Control)툴

 - 소프트웨어 버전 관리 툴이라고도 한다.
 - 형상관리는 소스의 변화를 끊임없이 관리하는 것을 말한다.
 - 소스를 버전 별로 관리할 수 있어서 개발할 때 실수로 소스를 삭제하거나, 수정하기 이전으로 돌아가야되는 경우 유용하게 사용되는 툴.
 - 또한 팀 프로젝트에서도 누가 무엇을 어떻게 수정했는지도 알 수 있기 때문에 코드를 병합하거나 수정된 소스를 추적하는 데에도 쓰인다.

▶ 형상관리툴의 종류
- Client/Server 타입 : Subversion(SVN), CVS, Perforce, ClearCase, TFS
- 분산저장소 타입 : Git, Mercurial, Bitkeeper, SVK, Darcs
- Folder 공유 타입 : RCS, SCCS

▶ 1. CVS
 - 1980년대에 만들어진 형상관리 툴이지만 파일 관리나 커밋 중 오류 시 롤백이 되지 않는 등 불편한 문제점이 있어 이후 SVN으로 대체됨

▶ 2. SVN
 - 2000년에 CVS를 대체하기 위해 만들어졌으며 현재까지 두루 사용되는 형상관리 툴
 - trunk
   프로젝트에서 가장 중심이 되는 디렉토리
 - branches
   trunk에서 뻗어져 나온 나뭇가지를 뜻함. 프로젝트 내의 작은 프로젝트라고 생각하면 됨
- tags
   버전 별로 소스코드를 따로 관리하는 공간(버전 별로 태그를 붙여서 tag 디렉토리 안에 보관한다고 생각하면 됨)

▶ 3. GIT
 - 매우 빠른 속도와 분산형 저장소. SVN보다 많은 기능을 지원하는 대신 당연히 익숙해지기에 더 많은 시간이 필요함.
 - SVN을 사용하다 GIT을 사용하게 되면 무척 헷갈리고 개념 이해가 잘 되지 않았었다.

▶ 4. SVN vs GIT 비교

- 특징

4.1 SVN
 - SVN은 보통 대부분의 기능을 완성해놓고 소스를 중앙 저장소에 commit
 - commit의 이미 자체가 중앙 저장소에 해당 기능을 공개한다는 의미.
 - (GIT 과 가장 큰 차이점) 개발자가 자신만의 version history를 가질 수 없다. (그렇기 때문에 local History를 이용하긴 하지만, 일시적이다. 내가 몇일전 까지에 한하여 작업했던 내역을 확인 가능하지만 버전 관리가 되진 않는다.)
 - commit한 내용에 실수가 있을 시에 다른 개발자에게 바로 영향을 미치게 되는 단점도 있다.

4.2 GIT
 - (GIT 과 가장 큰 차이점) 반면, git은 개발자가 자신만의 commit history를 가질 수 있고, 개발자와 서버의 저장소는 독립적으로 관리가 가능.
 - commit한 내용에 실수가 있더라도 이 바로 서버에 영향을 미치지 않는다
 - 개발자는 마음대로 commit(push)하다가 자신이 원하는 순간에 서버에 변경 내역(commit history)을 보낼 수 있으며, 서버의 통합 관리자는 관리자가 원하는 순간에 각 개발자의 commit history를 가져올 수 있음.

이렇게 git은 서버 저장소와 개발자 저장소가 독립적으로 commit history를 가져갈 수 있기 때문에 매우 유연한 방식으로 소스를 운영할 수 있으며, 이러한 유연성이 git의 가장 큰 장점이다.


출처 : https://goddaehee.tistory.com/158

 

[웹개발 기초] 형상관리툴이란? (SVN GIT 간단비교)

[웹개발 기초] 형상관리툴이란? (SVN GIT 간단비교) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 형상관리툴, Git SVN 비교 ] 입니다. : ) 형상관리(Version Control Revision Control)툴 - 소프트웨어 버전 관..

goddaehee.tistory.com

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

[도서] 전자정부 표준프레임워크 quick start 

전자정부 표준프레임워크 퀵스타트
국내도서
저자 : 채규태,표선영
출판 : 루비페이퍼 2018.11.01
상세보기


이 책의 전반부에는 표준프레임워크의 개발 환경에 대해 다룬다. 기본적인 환경 구축을 시작으로 Eclipse 플러그인을 업데이트하는 방법, 추가적인 오픈 소스나 라이브러리를 사용하는 방법, 각종 에러가 발생했을 때 대처하는 방법 등을 설명한다. JUnit 중심의 단위 테스트 수행, PMD와 FindBugs를 사용한 코드 검증 수행, 빌드 도구 Maven의 사용, SVN으로 하는 버전 관리, CI(Continuous Integration: 지속적 통합) 도구 Hudson을 학습하며, 이를 통해 업무 자동화 시스템을 구축할 수도 있다.
이어서 중반부에는 표준프레임워크와 관련된 Spring과 MyBatis 프레임워크의 핵심 문법과 표준프레임워크가 Spring과 MyBatis를 연동하는 데 있어서 추가로 제공하는 기능과 API에 대해서 자세히 다룬다. 마지막으로 표준프레임워크만의 특징인 공통 컴포넌트에 대해 다룬다. 공통 컴포넌트를 사용하면 코드 작성 없이 많은 기능들을 프로젝트에 사용할 수 있다.

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

APTANA - SVN 설치 (subclipse)

 

http://subclipse.tigris.org/update_1.6.x/

 

 

[Help] - [Install New Software] 를 선택

 

 

 

 

설치 후 [Window] - [Open Perspective] - [Other...] 를 선택

 

Perspective에 "SVN Repository Exploring" 이 나올 것이다.

 

 

 

 

 

 

Posted by 홍반장水 홍반장水

댓글을 달아 주세요