.bashrc로 인해 git push가 실패합니다.

.bashrc로 인해 git push가 실패합니다.

git을 사용하여 원격 서버에 코드를 푸시하려고 하는데 오류가 발생합니다.

fatal: protocol error: bad line length character:
  8

이 오류를 조사한 결과 .bashrc시작 화면을 에코하는 내 파일이 이 오류를 일으키는 것으로 나타났습니다. 내가 원하는 것은 이것이 git push이고 시작 화면을 표시하지 않는지, 아니면 디렉토리 매개변수 없이 SSH에 로그인할 때만 화면을 표시하는지 확인하는 것입니다.

ssh [email protected]:/deployment/bare-git-repo

관련 내용은 다음과 같습니다 .bashrc.

if [ -e ./.doc ]
then
    cat ./.doc
    pm2 list
fi

미리 감사드립니다!

답변1

git push서버에는 사용할 수 있는 후크와 관련된 항목이 없다고 생각하지만 출력이 터미널로 출력되고 있는지 확인할 수 있습니다.

if [ -t 1 ] && [ -e ./.doc ]; then
    cat ./.doc
    pm2 list
fi

이는 출력이 ./.doc별로 좋지 않고 문제를 일으킬 수 있는 다른 많은 상황을 처리합니다.

답변2

당신이 정말로 원하는 것은 비대화형 쉘에서 실행되는 비즈니스가 없는 작업을 실행하는 것을 방지하는 것입니다.

이에 대한 일반적인 전략은 터미널에 연결하여 stdin이 실패하는지 확인 [[ ! -t 1 ]]하거나 대화형으로 표시하여 bash 프로세스가 실패하는지 확인하는 것입니다 [[ $- != *i* ]]. 이러한 실패 사례 중 하나가 true로 평가되면 bashrc의 다른 어떤 것도 실행되어서는 안 되며 최대한 빨리 반환해야 합니다.

관련 정보