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와 유사하지만 각 원격 분기 기록의 끝 대신 현재 얕은 경계에서 커밋 수를 지정합니다.
얕은 클론을 딥 클론으로 만드는 두 가지 방법.:
다음 단계를 사용하여 분기를 다운로드했습니다. (이 작업은 분기의 얕은 복사본을 다운로드한 다음 전체 복제로 변환합니다. 즉, 완전한 분기 및 해당 기록 가져오기).
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
이렇게 하면 모든 기록 및 분기 세부 정보가 포함된 얕은 클론이 딥 클론으로 변환됩니다.
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
'code' 카테고리의 다른 글
strings.xml의 다른 문자열에서 한 문자열을 참조하시겠습니까? (0) | 2023.05.18 |
---|---|
어레이를 사용하여 선택하는 방법은 psql에 value 절을 포함합니다. (0) | 2023.05.18 |
Google 지도 API를 사용하여 마우스 스크롤 휠 스케일링을 비활성화하는 방법 (0) | 2023.05.18 |
Xcode 8에서 파생된 데이터를 삭제하려면 어떻게 해야 합니까? (0) | 2023.05.18 |
지정한 VM 설치를 찾을 수 없음: 표준 VM 유형, 이름 jre7 (0) | 2023.05.18 |