1.1 버전 관리란?

약 6분

본문 듣기
읽기 설정

글자 크기

줄 간격

글꼴

1.1 버전 관리란?

버전 관리란 소스 코드, 문서, 이미지 등 다양한 파일의 변경 이력을 기록하고 관리하는 시스템을 의미합니다. 이를 통해 개발자는 파일의 과거 상태로 돌아가거나, 여러 사람과의 협업 시 변경 사항을 효과적으로 통합할 수 있습니다. 특히, 웹 개발에서는 HTML, CSS, JavaScript 파일의 변경을 추적하고, 앱의 전반적인 개발 및 유지보수를 효율적으로 관리할 수 있게 해줍니다.

왜 버전 관리가 중요한가?

  • 변경 이력 기록: 개발 과정에서 발생하는 모든 변경 내용이 기록되므로, 문제가 발생했을 때 즉시 이전 버전으로 돌아갈 수 있습니다.
  • 협업 가능성: 여러 개발자가 동시에 작업할 수 있으며, 각자의 변경 사항을 관리하고 통합하는 데 용이합니다.
  • 효율적인 실험: 새로운 기능이나 수정을 시도하면서도, 문제가 발생할 경우 쉽게 이전 버전으로 복원할 수 있습니다.

예를 들어, 웹 개발 프로젝트에서 A라는 기능을 추가했을 때 이는 Commit을 통해 저장되고, 만약 버그가 발생했다면 이전 Commit으로 되돌릴 수 있습니다.

실제 프로젝트 예제

  1. 프로젝트 생성: 간단한 웹 페이지를 생성하고, 이 페이지의 구조와 스타일을 각각 HTML과 CSS로 작성합니다.
  2. Commit 예시: 초기 버전의 소스 코드를 Commit합니다.
    • 실행 전 상태: 변경된 파일 정보 없음
    • 실행 후 상태: 변경된 파일이 Git에 기록됨
    git commit -m "초기 웹 페이지 생성" 
    
  3. Branch 생성 및 수정: 새로운 기능을 개발하기 위해 Branch를 생성합니다.
    • 실행 전 상태: Master 브랜치에서 작업
    • 실행 후 상태: 새 Branch 생성 - feature-1
    git checkout -b feature-1
    

협업 중의 Git 명령어 활용

  1. Branch 병합: feature-1에서 작업한 내용을 Master 브랜치로 병합합니다.
    • git checkout master
      git merge feature-1
      
  2. Conflict 해결: 여러 개발자가 같은 파일을 수정한 경우, Conflict가 발생할 수 있습니다. 이를 해결하기 위해 충돌 부분을 수정하고, 다시 Commit합니다.
  3. GitHub 활용: 로컬 저장소에서 작업한 후 Remote 저장소(GitHub)로 Push하고 Pull Request를 생성하여 다른 팀원의 Code Review를 받습니다.

Git Flow와 GitHub Flow

  • Git Flow: 정해진 브랜치 규칙에 따라 기능 개발과 배포를 관리합니다. 그러나 복잡성이 증가할 수 있습니다.
  • GitHub Flow: 단순하고 효율적으로 PR을 통해 접근하며, Continuous Deployment를 지원합니다. 초보자는 GitHub Flow를 사용하기 적합합니다.

Visual Studio Code와 GitHub Desktop

대부분의 웹 개발자는 Visual Studio Code의 Source Control 기능을 활용하여 직접 Git 명령어를 사용하지 않고도 툴에서 제공하는 UI로 버전 관리를 쉽게 할 수 있습니다. 또한, GitHub Desktop을 통해 클릭 몇 번으로 각종 Git 명령어를 실행할 수 있습니다.

정리

버전 관리는 웹 개발에서 필수적인 도구로, 이를 통해 코드를 안전하고 체계적으로 관리할 수 있습니다. 다양한 Git 명령어와 GitHub을 결합하여 팀과의 협업을 효율적으로 수행하며, 실습을 통해 각 명령어의 기능과 그 사용 이유를 이해하게 됩니다.

코드 bash
git init

git add .

git commit -m "파일 추가"

git checkout -b feature-branch

git merge feature-branch

git push origin main

git pull origin main

댓글 0

댓글을 남기려면 로그인하세요.

아직 댓글이 없습니다. 첫 댓글을 남겨보세요.