Git Git 의 기능 및 장점

황제낙엽 2016.05.12 17:02 조회 수 : 835

(SW)형상 관리 서버(CM or SCM)? Configuration Management 소스 버전 관리

 

 sw개발 및 유지보수 과정에서 발생하는 소스코드, 문서, 인터페이스 등 결과물에 대한 형상(프로그램에 대하여 큰 형태의 구조적인 모습)을 만들고, 이 형상에 대한 것을 체계적으로 관리, 제어하기 위한 활동이다. 즉 프로젝트 진행 시 생성되는 소스 코드를 CVS, SVN, GIT 와 같은 버전 관리 시스템을 이용한 것

 

 

*GIT

저장소가 내 컴퓨터(로컬)에 있다. (SVN은 저장소가 서버에 있다)

다른 사람과 협업 시 Local의 저장소에서 작업 후 Commit하면 원격 저장소에 푸쉬된다.

git는 분산버전관리시스템이므로 저장소가 분산되는 구조를 가지고 있다.

 

*GIT 장점

-branch / merger

개발자  local에서 여러개의 branch 생성하여 개발을 할 수 있다.(생성, 삭제 가능 -> 독립성,테스트 가능)

( master -> develop-> topic )

push 전 까지 서버에 적용되지 않기에 local에서 마음껏 branch하여 테스트가 가능하다. 그러므로 에러 최소화와 원점 복귀 시간이 절약된다.

 

-속도 / 성능

네트워크 연결이 아닌 로컬에서 동적으로 움직이므로 속도가 빠르다.

 

-분산작업

svn의 경우 하나의 저장소로 동시 개발이 들어가므로 각자 코딩한 소스에 문제나 소스 통합하는데 번거롭다.

git는 통합/개발 전담으로하는 사람을 분담할 수 있다.

 

-데이터 보장

git는 모든 파일을 암호화한다. 파일은 항상 commit 시 체크썸(검사)을 거친다.

수정 시 commit id가 변경되어 사용자를 알 수 있다.

 

-준비 단계(Staging area)

내 작업공간(working directory)에서 명령 실행 후 add하게 되면 git에서 해당 파일을 관리한다. 즉 서버에 업로드 될 준비가 된 것이다.

git는 명령어들을 로컬에서 실행 후, 나중에 서버에 업로드하는데 svn은 바로 적용된디ㅏ. 

git는 2번 명령을해야 실행된다.

(working directory -> git add -> staging area -> git commit -> repository)

사용 안할 시  git commit -a 사용(sorking directory -> staging area -> repository)

 

-무료, 유료

번호 제목 글쓴이 날짜 조회 수
79 [Gemini] branch 와 worktree 의 차이점 황제낙엽 2026.09.27 15
78 버전 관리 이슈 케이스 (1) : 장기적으로 pull 하지 않은 개발자의 대량의 merge 이슈 발생 file 황제낙엽 2026.05.13 480
77 sourcetree - 특정 커밋으로 프로젝트 변경 황제낙엽 2025.08.26 675
76 git clone시 보안에 취약하지만 사용자 아이디와 비번 저장해놓고 사용하기 황제낙엽 2025.08.05 683
75 cherry pick 내가 원하는 커밋만 가져오기 file 황제낙엽 2022.02.17 1051
74 Git Extensions Online Manual 황제낙엽 2022.02.17 5441
73 TortoiseSVN 초보자 가이드 file 황제낙엽 2022.02.09 973
72 [TortoiseSVN] SVN Revision 되돌리는 법 file 황제낙엽 2022.02.09 2608
71 심플한 커밋 이력 조회 (git log --pretty=format) [2] 황제낙엽 2022.01.12 1078
70 Git 특정 폴더 및 파일만 clone 하기 (작성중) 황제낙엽 2021.10.08 1018
69 git remote set-url file 황제낙엽 2021.09.03 909
68 git clone [bare/mirror] 정리 file 황제낙엽 2021.09.03 1493
67 Git Repository 이동하기 황제낙엽 2021.09.02 912
66 유용한 Git 명령어 몇가지 황제낙엽 2021.09.02 924
65 Git의 4가지 영역 황제낙엽 2021.09.02 907
64 Git bare repository 황제낙엽 2021.09.02 834
63 git reset의 3가지 옵션 제대로 이해하기 file 황제낙엽 2021.07.31 916
62 이전 커밋으로 되돌리기 (revert, reset) file 황제낙엽 2021.07.31 1075
61 TortoiseSVN - add to ignore list file 황제낙엽 2021.06.04 1176
60 Ubuntu 에 Git 설치 황제낙엽 2020.09.13 937