git release git에 대용량 파일을 업로드하는 방법

git release를 활용하여 대용량 데이터 파일을 주고 받을 수 있다는 사실을 알고 계셨나요? 프로젝트를 하다보면, 다른 분들에게 대용량 파일을 공유하기 위해 드라이브를 사용하여 공유하곤 합니다. 그러나, 이는 파일을 다운로드/업로드할때 매우 번거롭습니다. 어떻게 하면 서로 쉽게 주고 받을 수 있는지에 대해서 오늘은 알려드리고자 합니다.

git release 데이터 저장하기

먼저, 새로운 Repo를 만들어줍니다. 만들때 Add readme를 눌러주시면 됩니다. ( 본인에 상황에 따라서 달라질 수 있으며, 본 포스팅에서는 추가하여 만들도록 하겠습니다. )

create git repo

우측 하단에 보시면, Releases라는 곳이 보입니다.

여기서 Create a new release를 하시면 됩니다.

where is release?

Release title에는 원하는 타이틀명을 입력하시면 됩니다.

저는 여기에 data를 올릴려고 하기 때문에 데이터 이름을 명시해두었습니다.

Attach binaries by ~ 을 클릭하셔서 원하는 데이터를 업로드 하시면 됩니다.

make release

아래와 같이 데이터가 정상적으로 업로드 된 것으로 볼 수 있습니다.

여기서 Source code(zip), Source code(tar.gz)는 원래 release에 필요한 데이터이기 때문에 손대지 않는 것을 추천드립니다.

upload complete with release

이렇게 올린 데이터를 어떻게 받아오면 될까요?

간단하게 코랩에서 테스트를 해보겠습니다.

how to download the data in release

바로 이렇게 간단하게 받아올 수 있습니다. 쉽죠?

그렇다면, 과연 Git-Release는 무엇일까요? 사실 데이터를 올리는 것은 원래 사용 목적에 맞지 않는 것입니다.

git-release는 정적 페이지를 배포할 수 있도록 도와주는 git의 한 기능인데요.

git-release에 대해서 한번 살펴 보도록 하겠습니다.

Git Release: 완벽하게 알아보기

Git은 코드 버전 관리를 위한 인기 있는 도구입니다. 여러 기능 중에서 “Release”는 프로젝트의 특정 지점을 표시하고 배포하는 데 유용한 기능입니다. 이 글에서는 Git Release의 정의부터 사용 방법까지 상세하게 살펴보겠습니다.

1. Git-Release란?

Git Release는 프로젝트의 특정 시점을 고정하고, 그 시점의 코드를 압축하여 배포하기 위한 메커니즘입니다. 이를 통해 사용자나 다른 개발자들이 프로젝트의 특정 버전을 쉽게 다운로드하거나 참조할 수 있습니다.

2. Git-Release의 장점

  • 정적 참조: Release는 특정 commit을 참조하므로, 참조된 코드는 시간이 지나도 변하지 않습니다.
  • 배포 용이성: Release를 통해 생성된 압축 파일(zip 또는 tar.gz)을 통해 쉽게 배포 가능합니다.
  • 버전 관리: 프로젝트의 중요한 마일스톤이나 버전을 명확하게 표시할 수 있습니다.

3. Git-Release 생성하기

  1. Git 저장소에서 원하는 commit 또는 branch로 이동합니다.
  2. git tag 명령어를 사용하여 태그를 생성합니다. 예: git tag v1.0.0
  3. git push --tags 명령어를 사용하여 태그를 원격 저장소에 푸시합니다.
  4. GitHub, GitLab 등의 웹 기반 인터페이스에서 해당 태그를 선택하고 “Release” 옵션을 사용하여 Release를 생성합니다.

4. Git-Release 주의사항

  • Release 전에 코드에 대한 테스트와 검토가 철저히 이루어져야 합니다.
  • Release 이름(태그)는 명확하고 일관된 규칙을 따라야 합니다. 예: Semantic Versioning

5. 결론

Git Release는 프로젝트의 특정 시점을 명확하게 표시하고 배포하는 데 유용한 도구입니다.

Git-Release: Tag

1. 태그(Tag)

Git에서 Release를 만들기 위해서는 먼저 태그를 이해해야 합니다. 태그는 특정 commit에 대한 참조로, 보통 중요한 시점이나 배포 버전을 표시하는 데 사용됩니다.

  • Lightweight 태그: 단순한 참조로, 어떤 메시지도 포함되지 않습니다.
  • Annotated 태그: 메시지, 태거 이름, 이메일 등의 정보와 함께 commit을 참조합니다. GPG로 서명할 수 있어 보안에 더 용이합니다.

태그 생성 예시:

bashCopy code

# Annotated 태그 생성 git tag -a v1.0.0 -m "Release version 1.0.0" # Lightweight 태그 생성 git tag v1.0.0

2. Semantic Versioning (SemVer)

Semantic Versioning은 소프트웨어 버전 관리에 대한 규약입니다. “MAJOR.MINOR.PATCH” 형식을 가지며, 각 숫자는 다음과 같은 의미를 가집니다:

  • MAJOR: 호환되지 않는 API 변경이 있을 때 증가
  • MINOR: 기능이 추가되면서 이전 버전과 호환될 때 증가
  • PATCH: 버그 수정과 같은 이전 버전과 호환되는 수정이 있을 때 증가

3. Git Hooks

Git Hook은 특정 이벤트가 발생할 때 자동으로 실행되는 스크립트입니다. 예를 들어, pre-commit Hook은 commit이 되기 전에 코드 포맷팅 검사를 수행할 수 있습니다. Release 전에 특정 검사나 빌드 과정을 자동화하려면 Hook을 사용할 수 있습니다.

4. Continuous Integration (CI) & Continuous Deployment (CD)

CI/CD는 개발 및 배포 프로세스를 자동화하는 방법론입니다. Git에서 새로운 코드가 푸시되면 자동으로 테스트, 빌드, 배포하는 과정을 자동화하여 효율성과 안정성을 높입니다. Release 프로세스도 CI/CD 파이프라인에 포함될 수 있습니다.

5. Changelog

Changelog는 프로젝트의 변경 내용을 기록하는 문서입니다. 각 Release마다 어떤 기능이 추가되었는지, 수정되었는지, 버그가 수정되었는지 등의 정보를 제공하여 사용자나 개발자에게 프로젝트의 변화를 쉽게 이해할 수 있게 도와줍니다.

다른 글도 참고해보세요.

답글 남기기