Notice
Recent Posts
Recent Comments
Link
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

준수의 개발이야기

[Git] VScode로 Git 사용해보기 - 개념편 본문

개발/Git

[Git] VScode로 Git 사용해보기 - 개념편

준수 2022. 10. 9. 17:21

※ 주의

누군가에게 알려줄 마음보다는

내가 이해한대로, 내가 잊지 않기 위해 작성했을 가능성이 큼(?)

 

1. Git 이란?
분산형 버전관리 시스템

쉽게 설명하자면 혹시 학교에서 조별 과제로 하나의 결과물을 도출해야할 때

PPT 파일이든 한글파일이든 조원끼리 정신없이 주고받으며 작업한 적이 있지 않은가?

 

**_최종.pptx → **_진짜최종.pptx → **_진짜진짜마지막최종.pptx

 

우리는 이 과정에서 파일을 백업해두고, 수정하고, 갱신 등의 작업을 하게 되는데

이 때 누가 작업했는지, 어떤 파일이 최신파일인지 헷갈려서 고생한 경험이 있을 것이다.

 

이러한 행위를 버전관리라고 하는데 이처럼

하나의 프로젝트를 가지고 여러 사람이 작업을 해야하는 경우를 위해

만들어진것이 git이다.

 

 

Git vs SVN 둘의 차이점은 무엇일까?

[그림 1] Git 과 SVN의 차이점

가장 큰 차이점은 SVN은 클라이언트 - 서버 모델이고, Git은 분산 모델이란 것이다.

클라이언트 - 서버 모델
하나의 중앙 서버가 존재하며, 여러 클라이언트들은 중앙 서버에서 각자 맡은 파트만 가져와서 작업하고,다시 중앙으로 통합하는것

분산 모델
하나의 중앙 서버가 존재하지만, 여러 클라이언트들은 각자의 컴퓨터 저장소에 중앙 서버의 전체 사본을 가지고 작업하는 것을 의미한다.

위 [그림 1] 처럼 SVN은 중앙서버에 소스코드와 히스토리를 저장하는 것과 달리 

Git은 각각의 PC의 로컬저장소로 중앙서버의 소스코드 사본을 분산하여 저장한다. 

좀 더 쉽게 설명하자면 Git을 통해 각 PC의 로컬 저장소(Local Repository)가 SVN의 Repository와 같은 역할을 하게 된다.

 

 

Git 장점

[그림 2] Git의 동작원리

1. 대부분의 개발이 로컬에서 이루어지기 때문에 빠르고 편리하다.
2. 인터넷이 연결되지 않은 곳에서도 개발을 진행할 수 있다.
3. 개발자 자신만의 버전 히스토리를 가질 수 있다.  
4. 중앙 저장소가 날라가 버려도 로컬 저장소를 통해 원상복구할 수 있다. 
5. Branch와 Merge를 통해 충돌 가능성이 상대적으로 낮다.

 

 

SVN은 그럼 안써?

그렇다면 모든 사람들이 Git을 쓸텐데 실상은 그렇지 않다.

여전히 SVN을 쓰는 경우는 많다. 그럼 왜 쓰고 있을까?

SI 프로젝트 같은 경우에는 빠르게 개발해야하며, 대부분 작업한 것을 한번에 왕창 배포하게 된다.
그렇게 배포하고 한번에 오류를 잡아가며 프로젝트가 완료되면
그 이후에는 추가적으로 손이 가지 않는 경우가 대부분이다.
이때는 복잡한 Git 보단 기초만 배우면 누구든 다루기 쉽고 사용하기 편한 SVN을 더 많이 사용한다.

 

 

그렇다면 Git은 언제써?

SVN 같은 경우 굉장히 심플하고 편하다는 장점이 있지만 그만큼 안정성이 보장되지 않는다.

커밋을 하면 바로 중앙 저장소에 적용되기 때문에 바로 공개가 되어버리며

그로인해 다수의 개발자가 사용할 시 충돌 가능성도 매우 높다.

1, 중앙저장소에 문제가 생겨선 안되는 서비스
2. 작업한 것을 함부로 올리거나 하지 않고 검증이 필요한경우
3. 안전하게 지속적으로 개발 및 유지보수가 들어가는 프로젝트
4. 변경사항이 많으며 배포가 잦은 서비스를 운영하는 경우

이럴 땐 Git이 효과적일 것이다.

 

정리하자면

한번 개발하고 한동안 추가 개발 없음  → SVN
지속적으로 개발 및 유지보수, 코드 안정성 필요 →  GIT

 

 

참조

https://velog.io/@shin6403/Git-%EC%9D%B4%EB%9E%80

https://flatsun.tistory.com/1943

https://hahahoho5915.tistory.com/40

https://codedosa.com/653

https://velog.io/@lzhxxn/Git-%EC%9D%B4%EB%9E%80   

 

 

 

제 맘대로 정리한거라 틀린 내용이 있을 수도 있습니다.

 

Comments