Skip to content

KR_IT_Web_Git

somaz edited this page Mar 30, 2026 · 1 revision

IT 용어: Web & Git

1. Web 1.0 vs Web 2.0 vs Web 3.0

인터넷의 발전을 통해 등장한 웹1(Web1.0), 웹2(Web2.0), 웹3(Web3.0)은 각기 다른 특성과 기술을 대표한다. 이들의 발전 과정은 인터넷의 사용 방식과 인터넷 기술의 변화를 반영 한다.

Web 1.0

Web 1.0은 인터넷의 초기 형태로, 주로 1990년대에 해당한다. 웹 1.0은 사람들이 정보를 더 잘 찾을 수 있도록 설계되었다. 이 웹 버전은 데이터를 검색하는 사용자를 위한 것 이었다.

오늘날 인터넷에서 즐기는 필수 형식, 시각적 요소, 컨트롤 및 상호 작용 기능이 부족하기 때문에 읽기 전용 웹(the read-only Web)이라고도 한다.

Web 2.0

Web 2.0은 인터넷의 사회적 단계로, 2000년대 초반부터 대중화되기 시작했다.

점점 늘어나는 청중을 위해 훨씬 더 많은 콘텐츠를 만드는 많은 사람들로 구성된다.  참여와 기여에 초점을 맞췄다.

오늘날 참여형 소셜 웹(participative social Web)이라고도 한다.

Web 3.0

웹3는 인터넷의 최신 단계로, 아직 완전히 정의되지 않았지만, 분산형 네트워크와 블록체인 기술에 기반을 두고 있다. 그리고 탈중앙화, 개방성, 보다 뛰어난 사용자 유틸리티라는 핵심 아이디어를 바탕으로 구축되었다.

Web 1.0은 읽기 전용 웹(the read-only Web)이고, Web 2.0은 참여형 소셜 웹(participative social Web)이며, Web 3.0은 읽고, 쓰고, 실행하는 웹(read, write, execute Web) 이다.

처음에 Web 3.0을 Semantic Web이라고 불렀으며 인공 지능과 기계 학습을 사용하여 글로벌 두뇌(global brain) 역할을 하고 콘텐츠를 개념적, 맥락적으로 처리하는 지능적이고 자율적이며 개방적인 인터넷을 구상했다.


2. Git

Git은 소프트웨어 개발에서 소스 코드 관리를 위해 널리 사용되는 분산 버전 관리 시스템이다. 이 시스템을 통해 여러 개발자가 서로 방해 받지 않고 동시에 하나의 프로젝트에서 작업할 수 있다. Git은 파일 변경사항을 추적하고 여러 기여자들 간의 협업을 조율한다. 브랜치 생성, 병합, 되돌리기 등의 기능을 통합하여 프로젝트의 다양한 버전을 효율적으로 관리하고 변경 이력을 체계적으로 유지하는 데 도움을 준다.

주요 기능:

  • 분산 아키텍처:

    • 모든 개발자가 전체 저장소와 그 이력의 완전한 복사본을 갖고 있어, 오프라인 작업 및 중복성을 지원한다.
  • 브랜치 및 병합:

    • 새로운 기능을 실험하거나 버그를 수정하기 위해 브랜치를 쉽게 생성하고 병합할 수 있다.
  • 스테이징 영역(Staging Area):

    • 변경사항을 저장소 이력에 커밋하기 전에 먼저 스테이징하는 독특한 개념이다.
  • 효율성:

    • Git은 성능에 최적화되어 있으며 큰 프로젝트도 능숙하게 처리한다.
  • 데이터 무결성:

    • 모든 변경사항은 체크섬(checksum)을 통해 추적 및 검색이 가능하다.

Git 기본 용어:

  • 워킹 디렉토리(Working Directory):

    • 현재 작업 중인 파일들이 있는 디렉토리이다.
  • 스테이징 영역(Staging Area):

    • 커밋하기 전에 변경사항을 임시로 모아두는 영역이다.
  • 리포지토리(Repository):

    • 프로젝트의 모든 버전과 이력이 저장되는 곳이다.
  • 커밋(Commit):

    • 스테이징 영역의 변경사항을 리포지토리에 영구적으로 기록하는 것이다.
  • 브랜치(Branch):

    • 작업을 분리하여 관리하기 위한 수단이다.
  • 병합(Merge):

    • 두 개 이상의 브랜치를 하나로 통합하는 과정이다.

Git과 GitHub의 차이점:

  • Git:
    • 버전 관리 시스템으로, 소스 코드의 변경 이력을 관리한다.
  • GitHub:
    • Git을 사용하는 프로젝트를 호스팅하는 웹 서비스이다.
    • 협업, 이슈 추적, 코드 리뷰 등 추가적인 기능을 제공한다.

Git 명령어

# 새 Git 저장소 초기화
git init

# 저장소 상태 확인
git status

# 파일을 스테이징 영역에 추가
git add <파일명>
git add .  # 모든 변경사항 추가

# 커밋 메시지와 함께 변경사항 커밋
git commit -m "커밋 메시지"

# 원격 저장소에 변경사항 푸시
git push

# 커밋 이력 확인
git log

# 스테이징된 변경사항과 마지막 커밋 비교
git diff --staged

# 새 태그 생성
git tag <태그명>

# 로컬에서 태그 삭제
git tag --delete <태그명>

# 원격 저장소에서 태그 삭제
git push origin --delete <태그명>

# 원격 저장소에 태그 푸시
git push --tags

# 모든 태그 목록 조회
git tag

# 저장소 복제
git clone <저장소-URL>

# 원격 저장소에서 변경사항 가져오기
git fetch

# 원격 브랜치의 변경사항 병합
git merge <브랜치명>

# 원격 저장소에서 변경사항 가져오고 병합 (fetch + merge)
git pull

# 로컬 및 원격 브랜치 상태 확인
git branch -a

# 새 브랜치 생성
git branch <새-브랜치명>

# 다른 브랜치로 전환
git checkout <브랜치명>

# 위의 두 명령어를 결합: 새 브랜치 생성 및 전환
git checkout -b <새-브랜치명>

# 작업 디렉토리의 변경사항 임시 저장
git stash

# 임시 저장된 변경사항을 작업 디렉토리에 적용
git stash pop

# 원격 저장소 목록 표시
git remote -v

# 새 원격 저장소 설정
git remote add <원격-이름> <저장소-URL>

# 원격 저장소 삭제
git remote remove <원격-이름>

# 스테이징 되지 않은 변경사항 보기
git diff
Git 브랜치 생성 및 병합 프로세스

master 브랜치에서 feture 브랜치가 생성되는 워크플로를 보여준다. feature 브랜치에서 변경 사항이 적용되고 커밋된 다음 master 브랜치로 다시 병합되어 새로운 기능이나 변경 사항이 적용된다. Git Branch Creation and Merging Process


참고 자료

Clone this wiki locally