LuxDevHQ에서의 나의 여정: Version Control (기본)

발행: (2026년 1월 18일 오후 06:57 GMT+9)
7 min read
원문: Dev.to

Source: Dev.to

버전 제어의 그림 표현

소개

이전 글에서 우리는 VirtualBox를 사용하여 Windows 가상 머신을 설정했고, 데이터‑과학 프로젝트를 시작할 준비를 했습니다.

데이터 과학은 대부분의 기술 분야와 마찬가지로 궁극적으로 코드와 데이터 파일을 중심으로 이루어집니다. 이는 여러 가지 질문을 제기합니다:

  • 우리는 이를 어떻게 저장합니까?
  • 변경 사항을 어떻게 추적합니까?
  • 다른 머신에서 어떻게 접근할 수 있습니까?
  • 협업자와 어떻게 공유할 수 있습니까?

버전 관리가 이 모든 질문에 답합니다.

버전 관리 / 소스 관리

Version Control – “소프트웨어 코드의 변경 사항을 추적하고 관리하는 관행.”1

컴퓨터 파일, 특히 소스 코드 파일에 대한 변경 이력을 보관하는 메커니즘으로, 이전 버전을 확인하고 필요할 경우 이전 상태로 되돌릴 수 있습니다.

협업을 위한 초기 시도는 USB 드라이브, 이메일 첨부 파일, 공유 폴더 등에 의존했습니다. 이러한 방법은 다음과 같은 문제점이 있었습니다:

  • 누가 언제 어떤 변경을 했는지 식별할 수 있는 내장된 방법이 없었습니다.
  • project, project1, project‑latest와 같은 명명 규칙이 난무했습니다.
  • 실수로 파일을 덮어쓰는 경우가 빈번했으며, 그 결과 작업이 손실되는 경우가 많았습니다.

이러한 고통점 때문에 버전 관리 시스템(VCS)—파일의 변경을 자동으로 추적하고 관리하는 소프트웨어 도구—가 등장하게 되었습니다.

장점

  • 자동 이력 관리 – 코드베이스에 대한 모든 업데이트가 기록됩니다.
  • 안전한 협업 – 영구적인 덮어쓰기 위험 없이 함께 작업할 수 있습니다.
  • 쉬운 롤백 – 개별 파일이나 전체 프로젝트를 이전 상태로 되돌릴 수 있습니다.
  • 구조화된 감사 추적 – 프로젝트 진화 과정을 명확하고 연대기적으로 확인할 수 있습니다.

인기 있는 VCS 도구

가장 널리 사용되며 이 글과 LuxDevHQ의 초점이 되는 도구는 Git(git‑scm.com)입니다.

Source:

Git

Git은 작은 프로젝트부터 매우 큰 프로젝트까지 속도와 효율성으로 처리하도록 설계된, 번개처럼 빠르고 무료이며 오픈 소스인 분산 버전 관리 시스템입니다.2 원래는 리누스 토르발스리눅스의 창시자—가 리눅스 커널의 버전 관리를 위해 만들었습니다. 오늘날 전 세계 개발자 93 % 이상이 Git을 사용하고 있습니다1. 모든 주요 운영 체제에서 실행되며 Docker와 같은 컨테이너 안에서도 사용할 수 있습니다.


Installation

일반 설치 방법은 공식 사이트에 나와 있습니다: .

Windows

  1. Windows 설치 프로그램 페이지를 방문합니다: .

  2. 최신 설치 파일을 다운로드합니다(예: Git-2.52.0-64-bit.exe):

    Git Install for Windows

  3. 설치 프로그램을 실행하고 UAC 프롬프트를 수락한 뒤 Git Setup Wizard를 따라 진행합니다.
    대부분의 사용자는 기본 옵션으로 충분하며, 필요에 따라 설정을 조정할 수 있습니다.

  4. 설치가 끝나면 Launch Git Bash를 체크된 상태로 두고, View Release Notes는 체크 해제한 뒤 Finish를 클릭합니다.

    Git Bash Window


Initial Setup

전역으로 사용자 정보를 설정합니다(필요에 따라 저장소별로 재정의할 수 있습니다).

# Set your name
git config --global user.name "Your Name"

# Set your email address
git config --global user.email "you@example.com"

설정이 제대로 되었는지 확인합니다:

git config --list

Creating a Repository

  1. 프로젝트 폴더 만들기

    mkdir -p test-project
    cd test-project
  2. README 추가

    touch README.md
    echo "This is a test project showing how to set up a Git repository." >> README.md

    내용 확인:

    cat README.md
  3. 샘플 Python 스크립트 추가

    touch test.py && echo "print('Hello, World')" >> test.py
  4. 디렉터리 내용 확인

    ls .

    README.mdtest.py가 보일 것입니다.

  5. 저장소 초기화

    git init
  6. 파일 스테이징

    git add .
  7. 커밋 메시지와 함께 커밋

    git commit -m "Initial commit"

이제 로컬 저장소가 원격 서비스(GitHub, GitLab, Bitbucket 등)로 푸시할 준비가 되었습니다.


References

Footnotes

  1. 다양한 소프트웨어 엔지니어링 자료에서 발췌한 정의. 2

  2. Git. (2026‑01‑18). Git. https://git-scm.com

Back to Blog

관련 글

더 보기 »

초보자를 위한 Git Bash와 GitHub 소개

Git이란 무엇인가? Git은 코드나 모든 파일의 변화를 시간에 따라 추적하는 무료 오픈‑소스 버전 컨트롤 시스템이다. 개발자들은 다음과 같은 일을 할 수 있다: - 프로젝트 작업…

Gitbash 및 Github 소개

정의 - Git은 모든 규모의 프로젝트를 처리하도록 설계된 널리 사용되는 무료 오픈소스 시스템입니다. 개발자가 코드의 변경 사항을 추적하고 f...