원 격 git 창고 코드 자동 추출

3271 단어 linux
일반적으로 git 를 사용 할 때 로 컬 개발 을 통 해 원 격 창고 에 업로드 합 니 다. 서버 는 원 격 창고 의 코드 를 끌 어 올 리 고 있 습 니 다. 그러면 개발 자 들 이 서버 에 자주 로그 인하 여 수 동 으로 코드 를 끌 어 올 리 는 것 이 번 거 롭 습 니 다.
오늘 git 에서 온라인 코드 를 자동 으로 끌 어 올 리 는 셸 스 크 립 트 를 공유 합 니 다.
스 크 립 트 에는 메 일 발송, 로그 기록, 정규 표현 식 등 지식 점, git 작업 이 포함 되 어 있 습 니 다.
먼저 git 기본 프로 세 스 를 알 아 보 겠 습 니 다.
        로 컬 개발: git add.  // 덧붙이다      git commit - a - m '주석'  //제출 하 다.    git push origin develop / / 원 격 창고 로 전송
        서버: 이 때 서버 에서 코드 를 끌 어 옵 니 다.
                      1. 프로젝트 디 렉 터 리 git diff 에 들 어가 서 수정 한 파일 이 있 는 지 확인 하고 있 으 면 제출 합 니 다. 두 번 째 단계 가 진행 되 지 않 으 면
                       2. 첫 번 째 출력 결과 가 없 으 면 git pull origin develop 에서 원 격 창고 코드 를 직접 가 져 올 수 있 습 니 다.
상술 한 과정 은 매번 코드 를 제출 할 때마다 진행 해 야 하 는 과정 으로 상대 적 으로 비교적 번거롭다
아래 의 이 셸 은 서버 의 절 차 를 스스로 실행 할 수 있 습 니 다.
    #!/bin/sh
    export LANG=en_us.UTF-8
    export LC_ALL=zh_CN.UTF-8
    cd        #          
    gitDiffInfo=`git diff`   #   git diff                               ,                         
    egreps="Already up-to-date.$"   #                      ,                     
    gitDate=`date "+%Y-%m-%d %H-%M-%S"` #        
    #   git diff                                     
    if [ -n "$gitDiffInfo" ];then
        #             
        mail -s '            '           <<< "$gitDiffInfo"
    else
        #       ,   git pull origin develop   
        gitPullInfo=`git pull origin develop`
        #          ,          
        if [[ "$gitPullInfo" =~ $egreps ]];then
            #               
            echo "$gitDate" >>         
            echo "     " >>          
            echo -e "
" >> else # pull echo "$gitDate" >> echo "$gitPullInfo" >> echo -e "
" >> # echo -e "
" fi fi

위 셸 스 크 립 트 는 실행 가능 한 권한 을 추가 합 니 다.  chmod - R 755 스 크 립 트 이름
통과 가능  ./스 크 립 트 이름  문제 가 있 는 지 테스트 를 실시 하 다.
문제 가 없 으 면 정시 작업 에 직접 추가 할 수 있 습 니 다.
정시 퀘 스 트 추가    crontab - e 정시 작업 편집
* / 1 * * * 스 크 립 트 의 경로   # 1 분 에 한 번 씩 실행 합 니 다.
crontab - l 을 사용 하여 정시 작업 을 정시 작업 목록 에 추가 하 였 는 지 확인 할 수 있 습 니 다.
상기 코드 는 메 일 발송 과 관련 되 어 있 습 니 다. 여기 서 간단하게 설명 하 겠 습 니 다.
설정 필요  /etc / mail. rc 파일
#          
set nss-config-dir=/etc/pki/nssdb
#        
set ssl-verify=ignore
//   smtp   
set smtp=smtps://smtp.163.com:465
#       
set smtp-auth=login
#                   
set [email protected]
#           
set smtp-auth-password=aaaa
#       
set [email protected]

설정 후 저장 종료
첨부 파일 없 는 메 일 발송
mail -s '    '       <<< "    "

첨부 파일 이 있 는 메 일 발송
echo "    " |mail -s '    ' -a              

이상 메 일 발송 명령 은 셸 스 크 립 트 에서 직접 사용 할 수도 있 고 명령 에서 직접 사용 할 수도 있 습 니 다.
 
이것 은 단지 내 가 생각해 낸 자동 적 으로 끌 어 당 기 는 방법 일 뿐, 만약 큰 신의 지도 가 더욱 간편 한 방안 이 있다 면, 동생 에 게 대답 하여 알려 줄 수 있다.ω✪), 만약 운 유대 신 이 이곳 을 보신 다 면 저 에 게 위 챗 을 보 내 주세요. 운 유대 지식 을 좀 배 워 드릴 게 요.

좋은 웹페이지 즐겨찾기