중복된 파일/디렉터리만 덮어쓰면서 디렉터리의 내용을 다른 디렉터리로 비웁니다.

중복된 파일/디렉터리만 덮어쓰면서 디렉터리의 내용을 다른 디렉터리로 비웁니다.

두 개의 디렉토리가 있는데 /var/www그 중 하나는 새로 설치한 것입니다.라벨다른 하나는 git cloneLaravel 애플리케이션입니다.

/vendor기본적으로 Laravel 애플리케이션이 필요한 코드로 제대로 실행될 수 있도록 Laravel을 새로 설치한 곳으로 옮겨야 합니다 .

그러나 명령줄을 사용하여 이 작업을 수행하는 방법을 모르겠습니다. 파일이 없기 때문에 파일을 rsync삭제 하거나 아무것도 덮어쓰지 않습니다./vendorgit clone

-www
--laravelFresh
--laravelGithubApplication

laravelGithubApplication나는 모든 것이 나오고 laravelFresh그 안에 있는 모든 중복 항목을 덮기를 원합니다 . laravelFresh중복된 내용을 덮어쓰면 안 되므로 동기화되는 것을 원하지 않습니다 laravelGithubApplication.

도와주세요.

답변1

mv laravelGithubApplication/* laravelFresh/

이전 디렉토리의 내용:

laravelGithubApplication/
laravelGithubApplication/file
laravelFresh/
laravelFresh/file
laravelFresh/vendor/
laravelFresh/vendor/file

다음 디렉터리 내용:

laravelGithubApplication/
laravelFresh/
laravelFresh/file (overwritten)
laravelFresh/vendor/
laravelFresh/vendor/file

예상한 대로 중복 파일( file)은 덮어쓰여지며, 기존 디렉터리( vendor)는 변경되지 않고 그대로 유지됩니다 laravelGithubApplication/.

답변2

댓글에서 Q&A를 계속해서 다음을 시도해 보세요(모든 것이 /var/www 아래에 있다고 가정).

# cd /var/www
# mkdir laravelCombined
# cd laravelGithubApplication
# find . | cpio -dumpv /var/www/laravelCombined
# cd ../laravelFresh
# find . | cpio -dumpv /var/www/laravelCombined

내용을 삭제하기 전에 /var/www/laravelGithubApplication해당 /var/www/laravelCombined내용이 /var/www/laravelCombined필요한 것인지 확인하십시오. 다음의 경우:

# rm -rf /var/www/laravelGithubApplication
# rm -rf /var/www/laravelFresh
# mv /var/www/laravelCombined /var/www/laravelFresh

관련 정보