[포스팅큐레이션, 개발이야기#058] 버전관리 야이기 - git은 무엇에 쓰는 물건인고?

in kr •  2 months ago 


안녕하세요 가야태자 @talkit 입니다.

다음에 작성하려고하는 글이 제가 집에서 운영하고 있는 여러가지 솔루션을 Oracle 클라우드로 옮기려고 하고 있기 때문에 먼저 설명하고 넘어 가야 할 것도 같고 지난 번 포스팅 큐레이션에서 못다한 이야기도 있고 해서 설명을 드리기 위해서 잠시 클라우드 이야기는 일시정지하고, 버전 관리 이야기를 진행 하겠습니다.

git 이란 무엇인가?

Git은 개발자들이 소스 코드와 파일의 버전을 관리하고 협업하는 데 사용하는 분산 버전 관리 시스템입니다. 주로 소프트웨어 개발에서 사용되지만, 문서나 다른 프로젝트 파일의 버전 관리에도 사용할 수 있습니다.


Git의 주요 기능

  1. 버전 관리

    • 프로젝트의 변경 기록(히스토리)을 저장하고, 이전 버전으로 쉽게 되돌릴 수 있습니다.
    • 어떤 파일이 언제, 누가, 어떻게 변경되었는지 추적할 수 있습니다.
  2. 분산 시스템

    • 로컬 컴퓨터에서도 전체 저장소를 복제하고 작업할 수 있어 네트워크가 없더라도 작업이 가능합니다.
    • 중앙 서버 없이도 개발자 간 협업이 가능합니다.
  3. 브랜치 관리

    • 독립적인 작업 공간(브랜치)을 만들어 다른 작업에 영향을 주지 않고 개발할 수 있습니다.
    • 여러 브랜치를 병합(Merge)하거나 충돌을 해결하여 팀 협업이 용이합니다.
  4. 협업 도구

    • 여러 개발자가 동시에 작업하고, 변경 사항을 통합할 수 있는 강력한 도구입니다.
    • GitHub, GitLab, Bitbucket 같은 플랫폼과 연동되어 전 세계 개발자들이 효율적으로 협업할 수 있습니다.

Git의 기본 개념

  1. 저장소(Repository)

    • 프로젝트를 관리하는 기본 단위. 프로젝트 파일과 변경 기록이 저장됩니다.
  2. 커밋(Commit)

    • 변경 사항을 저장소에 기록하는 작업. 변경 사항에 대해 메시지를 작성하여 기록을 남깁니다.
  3. 브랜치(Branch)

    • 작업 영역을 나누는 도구. 예를 들어, 새로운 기능 개발을 위해 별도의 브랜치를 생성하여 메인 프로젝트에 영향을 주지 않고 작업할 수 있습니다.
  4. 머지(Merge)

    • 브랜치를 병합하는 작업. 예를 들어, 새로운 기능이 완성되면 메인 브랜치에 합칠 수 있습니다.
  5. 푸시(Push)와 풀(Pull)

    • Push: 로컬에서 작업한 변경 사항을 원격 저장소에 업로드합니다.
    • Pull: 원격 저장소의 최신 변경 사항을 로컬로 가져옵니다.

Git을 사용하는 이유

  1. 팀 협업: 여러 명이 동시에 작업해도 충돌을 최소화할 수 있습니다.
  2. 히스토리 관리: 변경 사항을 추적하여 문제 발생 시 쉽게 복구할 수 있습니다.
  3. 분산 구조: 로컬에서도 독립적으로 작업 가능하며, 네트워크 문제가 있더라도 영향이 적습니다.
  4. 오픈소스와 통합: 많은 오픈소스 프로젝트에서 Git을 기본으로 사용하며, GitHub 등의 플랫폼과 함께 사용됩니다.

Git 기본 명령어

  1. 저장소 초기화

    git init
    
  2. 파일 추가

    git add <파일명>  # 특정 파일 추가
    git add .         # 모든 변경 사항 추가
    
  3. 변경 사항 저장(커밋)

    git commit -m "커밋 메시지"
    
  4. 원격 저장소 추가

    git remote add origin <원격 저장소 URL>
    
  5. 원격 저장소로 푸시

    git push origin <브랜치명>
    
  6. 원격 저장소에서 가져오기

    git pull origin <브랜치명>
    

Git 사용 사례

  1. 개발 팀 프로젝트 관리: 팀원이 각자 기능을 개발하고 병합하여 하나의 프로젝트를 완성.
  2. 오픈소스 기여: GitHub에서 프로젝트를 포크하고 변경 사항을 PR(Pull Request)로 제출.
  3. 파일 버전 관리: 코드뿐만 아니라 문서, 구성 파일 등의 버전 관리.

ChatGPT에게 물어보니 위와 같이 알려 줍니다.

오 기본적인 git의 사용법까지 모두 잘 알려주네요.

부연 설명을 조금 하고 마치도록 하겠습니다.

git을 사용하는 이유

개발자별로 또는 팀별로 브랜치를 가지고, 해당 브랜치를 마스터 브랜치로 통합해 가면서, CI/CD를 지속적으로 진행 하고 있습니다.

이러한 문제로 요즘 조그만 사이드 프로젝트를 시작하려고 하는데 git을 사용하기로 했습니다.

그래서 git에 대해서 설명 드렸습니다.

내일은 대표적은 git 클라우드인 github vs gitlab 에 대해서 검토를 진행해보겠습니다.

즐거운 주말 되십시오.

감사합니다.



Posted through the ECblog app (https://blog.etain.club)

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.