#TIL #git archive 명령을 사용해 .git 파일을 제외한채 서버에 배포하는 방법
$ git archive --format=tar origin/master \
| gzip -9c \
| ssh USER@SERVER "mkdir -p TARGET_DIR; tar --directory=TARGET_DIR -xvzf -"
파일로 저장 안 하고 stdout으로 출력한 데이터를 압축하고 서버에 전송한 후 tar 프로그램으로 푼다. tar 프로그램 -
인자는 데이터를 stdin으로 받겠다는 뜻이다. 크 멋지구나. archive 옵션 같은 건 파일 이름을 받아야 하지 않나? 왜 강제하지 않는 걸까? 이런 의문이 한 번에 풀린다.