IT

git이 "자동 모드"에서 작동 할 수 있습니까?

lottoking 2020. 8. 27. 21:44
반응형

git이 "자동 모드"에서 작동 할 수 있습니까?


"자동"모드에서 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

알려주세요.


출력을 / 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또는 -q다른 망할 놈의 명령에도 사용할 수있는 :

git commit --quiet
git push --quiet

사용 &> /dev/null마지막에 당신에게 적용됩니다.

git fetch origin master &> /dev/null

참고도 계명 --quiet 하는 git fetch(A를 트리거하는이 git gc) 몇 가지 출력을 생성합니다.
그 때문에이다 의 일부 .git gcgit fetch

더 이상은, 마이너스 2.1.1 (2014 9 월) 시작하는 : 참조 6fceed3bea59d747c160972c67663e8b8c281229을 커밋 에서 (응웬 타이 응옥 두이 pclouds)

가져 오기 : 주어진 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

반응형