Git
소스코드의 효율적인 관리를 위한 형상 관리 도구 중 하나
형상관리란?
프로젝트를 진행할 때 각자 업무를 나눠서 맡은 부분을 개발하게 되는데
각자가 개발한 코드 혹인 문서들을 하나의 관리 도구에서 통합적, 버전별로
관리하게 되는 것을 형상관리 혹은 버전관리라고 부름
GitHub
소프트웨어 개발 프로젝를 위한 소스코드 관리 서비스
Git 과 SVN 차이점
SVN : 중앙 집중식 버전 관리 시스템
저장소가 serve r에 있음
관리되는 모든 파일을 저장하는 사나의 서버와
이 중앙 서버에서 파일을 가져오는 다수의 클라이언트가 존재
장점
1. (직관적) 모든 사람이 중앙서버에 있는 같은 자료를 받아오고 내가 한 업무가 commit 하는 순간 모두에게 공유됨
단점
1. 중앙 서버가 잘못되면 모든 것이 잘못된다는 단점이 있음
2. commit 에 부담이 있음
Git : 분산 버전 관리 시스템
저장소가 내 컴퓨터에 있음
모든 작업이 로컬에서 이루어지고 네트워크 사용은 원격 저장소로 저장할 때 한번 이루어짐
원격 저장소의 내용이 모든 협업자들의 로컬 저장소에 저장되어 있음
자신만의 commit history 를 가질 수 있음
개발자와 서버의 저장소는 독립적으로 관리 가능
개발자는 마음대로 commit 하다가 자신이 원하는 순간에 서버에 변경 내역( commit history )을 보낼 수 있음
서버의 통합 관리자는 관리자가 원하는 순간에 각 개발자의 commit history를 가져올 수 있음
장점
1. 네트워크가 연결되어 있지 않더라도 계속해서 버전관리가 가능
2. 서버 저장소에 오류가 발생하더라도 로컬 저장소로 복구 가능
3. 서버 저장소와 개발자 저장소가 독립적으로 commit history 를 가져갈 수 있기때문에
유연한 방식으로 source 운영 가능
4. commit에 부담이 없음
단점
1. 적응하는데 시간이 필요함
2. 잘못쓰면 혼란이 가중될 수 있음 소스코드 conflict 가 자주 일어날 수 있음
결론
git, svn 각각 장단점이 있어서 상황에 맞는 형상관리툴을 사용하면 됨
제 글을 복사할 시 출처를 명시해주세요.
글에 오타, 오류가 있다면 댓글로 알려주세요! 바로 수정하겠습니다!
'Tool 사용법 > Git' 카테고리의 다른 글
Git 코드를 잠깐 저장하고 다른 브랜치로 이동하기 (0) | 2020.09.07 |
---|---|
Git add, commit, push 취소하기 (0) | 2020.09.07 |
Git 원격 저장소에 pull하는 과정 (0) | 2020.09.07 |
Git 브랜치 방법 (Branch) (0) | 2020.09.07 |
Git 원격 저장소에 Push 하는 과정 (0) | 2020.09.07 |