2013-05-07 3 views
2

저는 현재 자식을 안고 있습니다.git 리포지토리를 git없이 서버와 동기화하십시오.

내 아이디어는, 내 로컬 자식 repo와 함께 일하고 있으며 맨발의 repo에 밀어.

그렇다면 git를 설치할 가능성이없는 라이브 사이트에 변경 사항을 게시하고 싶습니다. 그래서 나는 맨발의 레포에서 라이브 사이트를 끌어 당길 수 없습니다. 베어 게잇 리포지토리의 변경 사항을이 라이브 사이트에 어떻게 동기화 하시겠습니까?

아이디어에 감사드립니다.

원격 서버에 아무것도 설치할 수 없기 때문에

BR

답변

2

, 당신은 SSH (rsync를), SFTP를, 또는 다른 파일을 사용 사이트에 코드 를 "게시"할 배포 스크립트를 작성합니다 전송 방법. 스크립트에 로그인 정보를 포함시키지 않고 스크립트의 매개 변수 또는 환경 변수로 로그인 정보를 요구합니다.

#!/bin/bash 

usage() { 
    echo "deploy usage: 
    echo " deploy sshtarget # uses rsync" 

    exit 1 
} 

if [ $# -eq 0 ]; then 
    usage 
fi 

echo "Deploying to $1..." 

rsync -e ssh -avh --progress --exclude .git* --exclude .giti* --exclude deploy * $1 

exit 0 

그래서이 원격 서버와 "sshtarget"로 파일을 복사하는 기준으로 사용자의 현재 SSH의 ID를 사용하여 원격 디렉토리 것 : 여기

는 _ 간단한 _ 예를 사용하여 bash는이야 . 예를 들어, deploy 스크립트는 소스 트리의 루트이고 그래서 당신이 게시하려는 파일 인 경우 :

./deploy [email protected]:/var/www/folder 

는 다시 간단한 예.

0

또 다른 옵션은 git-ftp입니다.이 옵션은 일반적으로 FTP를 사용할 수 있으므로 웹 사이트 배포에 특히 적합 할 수 있습니다.

관련 문제