코딩일기

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

Code/딥러닝(NL)

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

daje 2023. 8. 24. 20:34
728x90
반응형

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

 

-

-

-

git release 데이터 저장하기

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

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

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

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

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

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

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

여기서 Source code(zip), Source code(tar.gz)는 원래 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마다 어떤 기능이 추가되었는지, 수정되었는지, 버그가 수정되었는지 등의 정보를 제공하여 사용자나 개발자에게 프로젝트의 변화를 쉽게 이해할 수 있게 도와줍니다.

다른 글도 참고해보세요.

 

728x90
반응형
Comments