문제

개발 서버에는 Git Clone/Repo가 있지만 이제 다른 서버로 이동하고 있습니다. 나는 모든 지역 지점을 커밋하고 메인 리포지토리에 대한 변경을 원하지 않으므로 Oldserver에있는 모든 것을 Newserver로 정확한 사본을 어떻게 만들 수 있습니까?

나는 시도했다 oldserver:~$ scp -rp project newserver:~/project

그러나 Newserver에서 무엇이든하려고 할 때 "TypeChange"오류가 많이 발생합니다.

누군가 X 모드에 대해 말했지만 서버간에 파일을 이동할 때 어떻게 보존 할 수 있습니까?

도움이 되었습니까?

해결책

GIT 솔루션을 원한다면 시도해 볼 수 있습니다.

git clone --mirror <oldurl> <newurl>

이것은 베어 리포지토리에만 해당됩니다.

이것이 비 배정 repo라면 일반 복제본을 수행하고 다음과 같은 내용을 수행 할 수도 있습니다.

git fetch origin
git branch -r | grep '^ *origin/[^ ]*$' |
    while read rb; do git branch --no-track ${rb#*/} $rb; done
git remote rm origin

물론 중간 단계는 5000 가지 다른 방식으로 수행 할 수 있지만 그 중 하나입니다! (Bash의 파이프 후에 연속선이 필요하지 않습니다. 더 많은 입력이 필요하다는 것을 알고 있습니다).

마지막으로, 직접 복사하려면 SCP 대신 RSYNC를 사용하는 것이 좋습니다 (아마도 -AVZ 옵션이 있습니까?). (이 타이핑 오류는 정확히 무엇입니까?)

다른 팁

나는 실제로 이것을 해냈고, 내가 한 일은 먼저 repo를 타르고 scp를 넘어선 것입니다. SCP -RP도 효과가 있다고 생각합니다.

"TypeChange"는 일반적으로 상징 링크와 같은 것을 파일이되거나 그 반대를 나타냅니다. 두 서버가 동일한 OS를 실행하고 있습니까?

간단한 멍청한 솔루션을 시도해 볼 수도 있습니다. 타이프 changes가 어떻게 도착했는지 걱정하지 말고 git을 재설정 명령으로 수정하십시오.

git reset --hard HEAD

(1) 문제가 모두 체크 아웃 파일 (및 리포지토리 구조 자체가 아님)과 관련이있는 경우에만 의미가 있습니다. 뉴스 서버 보존해야합니다.

이러한 경고를 감안할 때, 그것은 내가 같은 문제를 발견했을 때 나를 위해 일했으며, Git의 내부 또는 파일 전송 프로세스가 속성을 얼마나 잘 보존하는지 생각할 필요는 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top