2013-07-16 2 views
2

저는 laravel 4 프레임 워크를 사용하고 있습니다. 최신 상태로 유지하기 위해 프레임 워크 저장소를 가리키는 업스트림이라는 리모컨을 추가하고 git fetch을 실행했습니다. 문제는 로컬 레포에서 프레임 워크의 전체 기록을 가져 왔습니다. 업스트림 기록을 삭제할 수있는 방법이 있습니까?힘내 원격 히스토리를 제거하십시오

답변

3

글쎄, 그 자식의 요점입니다 - 모든 저장소 복제가 동일하게 생성된다. 전체 역사를 갖는 것에 대해 걱정하지 마라. git는 git 객체 저장소에 전체 히스토리를 저장할 때 매우 효율적이다. (잠시 후에 git gc이 한번만 실행된다.)

압축 된 git 객체 저장소 (.git 디렉토리 아래에 보관)의 크기가 트리 상단의 체크 아웃 크기를 초과하는 경우는 비교적 드문 경우입니다.

즉, 원격 기록을 제거하여 저장하는 것이 거의 없습니다 (거의 몇 퍼센트). 그것은 많은 원격 지점을 보는 관점에서 당신을 귀찮게 (하지만 정말 안됩니다!), 당신은 단순히이 원격 제거 할 수 있습니다 :

git remote rm upstream 

을 당신이 그것을 또는 가지를 더 이상 볼 수 없습니다.

얕은 복제본 (--depth=1)을 사용하여 공간을 크게 절약 할 수 있을지는 의심 스럽지만 큰 단점이 있습니다. 얕은 복제는 위임 할 수 없습니다. 따라서, 자신 만의 커밋을 만들고 싶다면 얕은 복제본을 사용하지 마십시오.

+0

통찰력을 주셔서 감사합니다, 제 경우에는 git remote rm 업스트림이 내게 역사를 남겨 둡니다. 답변을 추가 할 것입니다. – silkAdmin

1

전체 내역을 원하지 않으면 git fetchgit clone의 옵션 --depth 옵션을 사용하십시오. 당신은 단지 하나의 지점에 관심이 있다면 복제 할 때 또한, 당신은 --single-branch 옵션을 사용할 수 있습니다 :

git clone --single-branch --branch=master --depth=1 git://...... 
+0

감사합니다. 알아두면 좋겠지 만 지금 어떻게 그 역사를 없앨 수 있습니까? – silkAdmin

+0

다시 복제하십시오. –