bestsource

"사일런트 모드"에서 작동할 수 있습니까?

bestsource 2023. 8. 7. 22:47
반응형

"사일런트 모드"에서 작동할 수 있습니까?

"사일런트" 모드에서 git 명령을 실행할 수 있습니까?예를 들어, "라고 말해도 될까요?git push origin화면에 아무것도 표시되지 않습니다.

IO를 다음으로 리디렉션할 수 있습니다./dev/null(정상적으로 작동), 하지만...git은 자연스럽게 이런 것을 허용합니까?

아래는 자동 EOD 커밋을 수행하는 빠른 스크립트로, 기차를 타야 하고 로컬 컴퓨터에 코드를 남기고 싶지 않을 때 사용됩니다.

  1 clear
  2
  3 cd
  4 cd repo/active
  5
  6 for i in *
  7 do
  8   cd $i
  9   echo "Pushing " $i
 10   git add . -A >> /dev/null 
 11   git commit -a -m "EOD automatic commit" >> /dev/null 
 12   git push origin >> /dev/null 
 13   echo
 14   cd ..
 15 done

저에게 알려주세요.

사용할 수 있습니다.--quiet또는-q다른 Git 명령에도 사용할 수 있습니다.

git commit --quiet
git push --quiet

사용.&> /dev/null마지막에는 완전히 조용한 git 명령 출력이 제공됩니다.

git fetch origin master &> /dev/null

출력을 /dev/null로 리디렉션하는 것은 저에게 자연스러운 방법인 것 같습니다.이전에 cron 작업에서 사용하기 위해 quiet_git 셸 함수를 다음과 같이 정의했습니다.

quiet_git() {
    stdout=$(tempfile)
    stderr=$(tempfile)

    if ! git "$@" </dev/null >$stdout 2>$stderr; then
        cat $stderr >&2
        rm -f $stdout $stderr
        exit 1
    fi

    rm -f $stdout $stderr
}

git 명령이 실패하지 않는 한 stdout 및 stderr을 억제합니다.예쁘지 않습니다. 실제로 stdout 파일은 무시되고 /dev/null로 리디렉션됩니다.그래도 효과가 있습니다.그런 다음 나중에 스크립트에서 "quiet_git push" 등을 수행할 수 있습니다.

사용하는 경우에 유의하십시오. --quiet,agit fetch(트리거됨)git gc)는 일부 출력을 생성합니다.
그것은 의 부분 때문입니다.

더 이상은 아닙니다. git 2.1.1(2014년 9월) 시작: Nguyễn Thai Ngọc Duy()pclouds의 커밋 6fed3bea59d747c160972c67663e8b8c281229 참조.

가져오기: 침묵git-gc한다면--quiet주어집니다.

builtin/fetch.c:

argv_array_pushl(&argv_gc_auto, "gc", "--auto", NULL);
if (verbosity < 0)
argv_array_push(&argv_gc_auto, "--quiet");
run_command_v_opt(argv_gc_auto.argv, RUN_GIT_CMD);

언급URL : https://stackoverflow.com/questions/8943693/can-git-operate-in-silent-mode

반응형