티스토리 뷰

728x90
반응형

요즘 코드는 Git으로 관리하는 것 같아서 Git 을 설치해보려 함.

 

우선 Git이 뭔지 부터 알아보자.

--------

Git(깃)은 소스코드 버전 관리 도구입니다. 간단히 말해, 프로젝트의 소스코드를 효율적으로 관리하고 추적할 수 있게 도와주는 소프트웨어예요.

--------

 

🟢 Git을 쓰면 좋은 점

  • 버전 관리(Version Control)
    코드의 변경 이력을 저장하고 이전 상태로 언제든 복구 가능하게 합니다.
  • 변경사항 추적 및 비교(History Tracking)
    누가, 언제, 어떤 부분을 변경했는지 쉽게 알 수 있습니다.
  • 협업 지원(Collaboration)
    여러 사람이 동시에 코드 작업을 해도 충돌 없이 효율적으로 병합할 수 있습니다.
  • 백업 및 복구(Backup & Restore)
    코드가 잘못되었을 때 이전으로 쉽게 돌아갈 수 있어요.
  • 브랜치 관리(Branch Management)
    개발과 테스트를 독립적으로 진행할 수 있고, 기능별로 나눠서 개발할 수 있어요.

📌 Git의 핵심 개념

개념 설명
Repository 프로젝트의 모든 파일과 히스토리를 담는 저장소
Commit 코드 변경사항을 기록하는 작업
Branch 독립적인 작업 환경을 만드는 별도의 코드 라인
Merge 서로 다른 브랜치를 하나로 합치는 작업
Clone 원격 저장소의 복사본을 로컬로 가져오는 작업
Pull 원격 저장소에서 최신 버전을 가져오는 작업
Push 내 변경 사항을 원격 저장소에 올리는 작업
 

📝 Git 사용 흐름 예시

간단히 작업 흐름을 보여드릴게요:

# 저장소 생성 (처음 한 번만)
git init  

# 변경 사항 추가
git add .

# 변경 사항 저장 (commit)
git commit -m "변경 내용에 대한 메시지"

# 원격 저장소로 내 변경사항 올리기
git push

🌐 GitHub, GitLab과의 관계

  • Git은 **소프트웨어(도구)**입니다.
  • GitHub, GitLab 등Git을 활용한 웹 기반 호스팅 서비스로, 원격 저장소를 제공하고 협업 환경을 지원해줍니다.

즉, Git을 통해 관리한 코드를 GitHub, GitLab 같은 서비스에 올려 다른 사람들과 쉽게 공유하고 협업할 수 있어요

 


예전엔 SVN 이라는걸 많이 썼던거 같은데.. SVN하고 차이는 뭐지?

 

 

✅ Git vs. SVN 핵심 차이점 요약

구분 Git SVN
저장소 방식 분산형 (Distributed) 중앙집중형 (Centralized)
작동 방식 모든 작업자가 전체 저장소의 사본을 가짐 서버에만 전체 저장소가 있고, 로컬엔 작업 파일만 존재
브랜치(Branch) 브랜치 작업이 매우 빠르고 유연 브랜치 작업이 비교적 느리고 복잡
속도 빠름 (로컬에서 대부분 작업 수행) 상대적으로 느림 (서버와 상호작용 필요)
오프라인 작업 가능 제한적
병합(Merge) 효율성 높음 (브랜치 병합이 용이) 낮음 (충돌 시 다소 복잡한 병합 과정 필요)
학습 난이도 초기에 조금 더 높음 상대적으로 쉬움
변경 사항 추적 변경 사항을 커밋 해시(Hash)로 관리 변경 사항을 버전 번호(Revision)로 관리
파일 관리 파일 상태를 전체 스냅샷으로 저장 변경 사항만 저장 (증분 관리)
커뮤니티와 생태계 커뮤니티가 크고, 서드파티 도구가 매우 다양 상대적으로 작고 점차 감소하는 추세
 

🔹 Git의 장점 및 특징

  • 분산형 관리
    • 각 개발자가 전체 저장소를 복제해 로컬에서 독립적으로 작업 가능
    • 서버 문제가 생겨도 로컬에서 언제든 복구 가능
  • 빠르고 유연한 브랜치 및 병합
    • 브랜치를 만들고 병합하는 것이 간단하고 빠르며, 기능별 개발에 유리
  • 로컬 작업 지원
    • 인터넷 연결 없이도 작업 및 커밋 가능
  • 강력한 병합과 충돌 관리
    • 충돌 발생 시 비교적 효율적으로 관리 가능
  • 오픈소스 생태계 및 도구 지원
    • GitHub, GitLab, Bitbucket 등 풍부한 플랫폼 지원과 다양한 협업 툴 존재

🔸 SVN의 장점 및 특징

  • 중앙 집중식 관리
    • 관리 및 운영이 상대적으로 쉽고 명료 (하나의 서버에 모든 코드 존재)
  • 단순한 구조
    • 초기 학습 난이도가 상대적으로 낮아 이해하기 쉬움
  • 부분적인 체크아웃(Checkout) 지원
    • 특정 디렉터리만 체크아웃 가능(큰 프로젝트에 유리)
  • 직관적인 버전번호 관리
    • 변경 이력을 번호로 구분해 직관적

🚩 어떤 경우에 Git을 써야 할까?

  • 여러 사람이 동시에 협업이 많을 때
  • 분산되어 있고 빠른 개발 속도가 필요할 때
  • 브랜치를 자주 만들어 병합하며 기능 단위로 개발할 때
  • 인터넷 연결 없이 작업이 필요할 때

🚩 어떤 경우에 SVN을 써야 할까?

  • 중앙 집중형의 간단하고 명확한 구조를 원할 때
  • 큰 프로젝트 중 특정 디렉터리만 관리할 필요가 있을 때
  • Git의 복잡성을 부담스럽게 느낄 때

🟢 결론 및 추천

  • 최근 트렌드는 대부분의 프로젝트가 Git을 채택하고 있습니다.
  • Git은 특히 오픈소스 개발, 분산형 협업이 많은 환경에서 강력합니다.
  • SVN은 관리가 간단한 소규모 프로젝트 또는 중앙 집중식 환경에 적합합니다.

일반적으로 새롭게 배우거나 사용하는 환경이라면 Git을 사용하는 것이 미래를 고려했을 때 더 좋습니다.

 


무료 Git 서비스 비교 (GitHub, GitLab, Bitbucket)

 

무료 Git 서비스 비교 (GitHub, GitLab, Bitbucket)

대표적인 무료 Git 서비스로는 다음 세 가지가 있습니다.GitHubGitLabBitbucket📌 1. GitHubhttps://github.com장점단점✔️ 가장 널리 쓰이는 서비스 (대중성 최고)❌ 일부 고급 기능(예: GitHub Actions)은 제한된

archive-box.tistory.com

 

728x90
반응형
LIST
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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 31
글 보관함
반응형