code

Git 얕은 클론을 전체 클론으로 변환하는 방법은 무엇입니까?

starcafe 2023. 5. 18. 21:11
반응형

Git 얕은 클론을 전체 클론으로 변환하는 방법은 무엇입니까?

이 질문의 후속 조치: 얕은 복제본이 있는 경우 전체 복제본으로 만들기 위해 이전의 모든 커밋을 가져오는 방법은 무엇입니까?

아래 명령(git 버전 1.8.3)은 얕은 클론을 일반 클론으로 변환합니다.

git fetch --unshallow

그런 다음 오리진의 모든 지점에 액세스합니다(댓글에 피터 @peter 감사합니다).

git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin

편집: git fetch --unshallow이제 옵션입니다(잭 오코너 감사합니다).

실행할 수 있습니다.git fetch --depth=2147483647

얕은 문서에서:

특수 깊이 2147483647(또는 부호 있는 32비트 정수가 포함할 수 있는 최대 양수인 0x7ffff)는 무한 깊이를 의미합니다.

저는 보고서를 특정한 약속까지 심화시킬 필요가 있었습니다.

읽은 후man git-fetch커밋은 지정할 수 없지만 날짜는 지정할 수 있습니다.

git fetch --shallow-since=15/11/2012

점진적인 심화가 필요한 사람들을 위해, 또 다른.man인용문:

--deepen=<depth>

--depth와 유사하지만 각 원격 분기 기록의 끝 대신 현재 얕은 경계에서 커밋 수를 지정합니다.

얕은 클론을 딥 클론으로 만드는 두 가지 방법.:

  1. 다음 단계를 사용하여 분기를 다운로드했습니다. (이 작업은 분기의 얕은 복사본을 다운로드한 다음 전체 복제로 변환합니다. 즉, 완전한 분기 및 해당 기록 가져오기).

    git clone -b 브랜치 http://git.repository/custom SP01.git --depth 1

이렇게 하면 깊이 옵션이 있는 얕은 복제본은 요청한 깊이에서 단일 분기 하나만 가져옵니다.

b. cd customSP01
c. git fetch --depth=100
d. get fetch --depth=500
....
e. git fetch --unshallow    

//위의 명령은 얕은 복제본을 일반 복제본으로 변환합니다.그러나 모든 분기를 제공하는 것은 아닙니다.

그런 다음 모든 분기에 액세스할 수 있습니다.

f. git remote set-branches origin '*'

[이 단계는 .git/config에서 다음 줄을 편집하여 수동으로 수행할 수도 있습니다.

fetch = +refs/heads/master:refs/remote/master/master

(마스터를 *로 대체):

fetch = +refs/heads/*:refs/remote/refs/* ]

g. git fetch -v

이렇게 하면 모든 기록 및 분기 세부 정보가 포함된 얕은 클론이 딥 클론으로 변환됩니다.


  1. a. 단계에 나와 있는 명령 대신 다음 명령을 사용하여 얕은 복제를 수행하면 f 및 g 단계를 피할 수 있습니다.

    git clone -b branch --no-single-branch http://git.repository/customSP01.git --depth 1

사용해 볼 수 있습니다.

git fetch --update-shallow

위의 메시지 중 어떤 것도 속임수를 쓰지 않았습니다.저는 얕은 클론부터 시작해서 깃 태그로 작업하려고 합니다.

먼저 시도했습니다.

git fetch --update-shallow

어떤 종류의 것이 중간에 효과가 있었습니다.아직, 사용 가능한 태그가 없습니다!

git fetch --depth=1000000

이 마지막 명령은 정말로 태그를 가져왔고 마침내 실행할 수 있었습니다.

git checkout -b master-v1.1.0 tags/v1.1.0

그리고 그것을 끝냅니다.

HTH

언급URL : https://stackoverflow.com/questions/6802145/how-to-convert-a-git-shallow-clone-to-a-full-clone

반응형