2013-03-26 4 views
2

내 컴퓨터에 아무 것도 추가하지 않고 만료 된 레포가 있습니다. 나는 github에서 최신 안정 지점을 끌어 들이고 싶다.로컬 repo를 github에 덮어 쓰려면 어떻게해야합니까?

그냥 복제해야합니까? 나는 잘 모르겠다.

+1

다른 디렉토리로 복제하고, 그다지 필요하지 않은 경우 이전 디렉토리를 지 웁니다. – Mat

+2

로컬을 삭제하고 다시 복제하십시오. – meagar

답변

3

나는 당신이 원점 그런 다음 모든 파일에 패치 할을 재설정 할 수 있어야한다고 생각합니다 :

git fetch --all 
git reset --hard origin/master 

당신은 너무 어느 위해 그것을 할 아마 수 있습니다. 당신은 당신이 추적되지 않는 추가 한 파일을 제거하려면

, 너무 깨끗한을 수행

git clean -f 

장점을 새로운 디렉토리 복제를 통해이 방법으로하면 여전히 몇 가지를 유지하는 것입니다 역사/reflog. 그래도 데이터를 신경 쓰지 않는다면 두 방법 모두 괜찮습니다.

+0

'git reset --hard'를 실행하기 전에'master' 브랜치 (즉,'git checkout master')에 있어야합니다;) – Tuxdude

0

그냥 git pull --all은 최신 항목을 받아야합니다.

1

나는 Matt'smeagar's 제안에 동의,하지만 난 망할 놈의 프로젝트에 rm 명령을 사용하여와 과거의 경험을 바탕으로 그들에게 조금을 추가해야합니다 생각합니다.

확실한 경우 repo가 ​​포함 된 디렉토리에서 cd을 폴더 바로 위 레벨까지 유지하고 싶지 않으므로 git rm을 사용하여 제거 할 수 있습니다. 나는 git rm을 사용하는 것이 일반 bash rm 명령을 사용하는 것보다 낫다는 것을 발견했습니다. 이전 분기점 디렉토리에서 파일을 단순히 제거한 곳에서 나는 diff 레코드에 기록되지 않았기 때문에 전체 브랜치를 트랙에서 제거했음을 배웠습니다. 시도한 경우 git commit이 출력됩니다. "지점이 최신"입니다. 거짓 긍정.

남은, 찾기 어렵거나 거의 탐지 할 수없는 메타 데이터 청크를 남겨두기 위해 파일을 닦으려고하기 때문에 재귀 강제 제거이 여기에 적합합니다. 즉이 폴더는 MyRepo라고 단순히 git rm -rf MyRepo

두 번이 검사 분명히 오류가 기대 단순히 cd MyRepo, 내가 할 줄 것입니다 단지에 폴더 shoudln 때문에 '경우 더 이상 존재하지 않는다.

그런 다음 GitHub 호스팅 버전을 이전과 같은 장소에서 또는 편안하다고 느끼는 곳 어디에서나 복제하고 정상적으로 수행하십시오.

관련 문제