반응형
▪ Synopsis
git clone --mirror 명령어는 원격 저장소를 미러링하는데 사용됩니다.
이 옵션은 원격 저장소의 모든 브랜치, 태그, 커밋 히스토리 등을 완전히 복제합니다.
이것은 주로 백업이나 서버 간 코드 동기화 등에 사용됩니다.
$ git clone --mirror <원격 저장소 URL>
- git clone: Git 저장소를 복제하는 명령어입니다.
- --mirror: 미러 모드로 저장소를 복제합니다. 모든 브랜치, 태그, 원격 브랜치 등을 포함한 완전한 복제를 수행합니다.
- <원격 저장소 URL>: 복제할 원격 저장소의 URL을 나타냅니다.
git clone --mirror 명령으로 복제된 저장소의 로컬 디렉토리 구조는 다음과 같습니다.
미러 모드로 저장소를 복제하면 .git 디렉토리 내에 원격 저장소의 모든 정보가 포함되므로, 일반적인 작업 디렉토리 구조와는 조금 다릅니다.
예를 들어, 저장소를 /path/to/local/mirror 디렉토리에 미러 모드로 복제했다면 구조는 다음과 유사합니다.
/path/to/local/mirror
├── HEAD
├── branches/
├── config
├── description
├── hooks/
├── info/
├── objects/
├── packed-refs
└── refs/
- HEAD: 현재 작업 중인 브랜치를 나타내는 파일입니다.
- branches/: 브랜치 정보가 저장된 디렉토리입니다.
- config: 저장소 설정 파일입니다.
- description: 저장소에 대한 설명이 있는 파일입니다.
- hooks/: Git 훅 스크립트가 저장된 디렉토리입니다.
- info/: 저장소에 대한 정보가 있는 디렉토리입니다.
- objects/: Git 객체(커밋, 트리, 블롭 등)가 저장된 디렉토리입니다.
- packed-refs: 참조들이 압축된 형태로 저장된 파일입니다.
- refs/: 브랜치, 태그, 원격 브랜치 등 참조들이 저장된 디렉토리입니
위의 명령어를 통해서 생성되는 .git (default) 디렉토리로 이동하여 아래와 같은 명령어로 반영 할 수 있습니다.
$ git push -u https://{token}@<원격 저장소 URL>
▪ Usage
$ git clone --mirror [-b <브랜치>] [--bare] [--origin <원격 저장소 이름>] [--config <파일>] [--depth <깊이>] [--shallow-since=<날짜>] [--shallow-exclude=<불포함 커밋>] [--no-checkout] <원격 저장소 URL> [<로컬 디렉토리>]
- -b <브랜치>: 특정 브랜치를 복제하고 싶을 때 사용합니다.
- --bare: 작업 디렉토리를 생성하지 않고, 순수한 Git 저장소만을 만듭니다.
- --origin <원격 저장소 이름>: 원격 저장소의 이름을 지정합니다. 기본값은 origin입니다.
- --config <파일>: 명령 실행을 위한 Git 설정 파일을 지정합니다.
- --depth <깊이>: 복제할 때 히스토리의 깊이를 제한합니다.
- --shallow-since=<날짜>: 특정 날짜 이후의 커밋만을 복제합니다.
- --shallow-exclude=<불포함 커밋>: 특정 커밋을 제외하고 복제합니다.
- --no-checkout: 체크아웃을 수행하지 않고, 작업 디렉토리를 생성하지 않습니다.
특정 브랜치를 복제
$ git clone --mirror -b <브런치 명칭> <원격 저장소 URL> [<로컬 디렉토리>]
반응형
'Git' 카테고리의 다른 글
[Git] log (0) | 2024.01.14 |
---|---|
[Git] config (0) | 2022.09.10 |
[Git] submodule (0) | 2022.09.07 |