Apakah mungkin untuk menjalankan perintah git dalam mode "diam"? Misalnya, dapatkah saya mengatakan " git push origin
" dan tidak melihat apa pun yang ditampilkan di layar?
Saya kira saya dapat mengarahkan IO ke /dev/null
(berfungsi dengan baik), tetapi .. apakah git mengizinkan hal seperti ini secara alami?
Di bawah ini adalah skrip cepat yang melakukan pengubahan EOD otomatis, digunakan ketika saya perlu naik kereta dan tidak ingin meninggalkan kode di komputer lokal saya
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
Tolong beritahu saya.
Jawaban:
Mengalihkan output ke / dev / null sepertinya merupakan cara alami untuk melakukannya bagi saya. Meskipun saya sebelumnya telah mendefinisikan fungsi shell quiet_git seperti ini untuk digunakan dalam pekerjaan cron:
Ini akan menekan stdout dan stderr, kecuali jika perintah git gagal. Ini tidak cantik; sebenarnya file stdout diabaikan dan seharusnya hanya mengarahkannya ke / dev / null. Bekerja, meskipun. Dan kemudian Anda bisa melakukan "quiet_git push" dll. Nanti di skrip.
sumber
Anda dapat menggunakan
--quiet
atau-q
, yang juga dapat digunakan untuk perintah Git lainnya:sumber
git pull -q
ataugit push origin master --quiet
. Saya di git 1.8.xgit pull -q origin master > /dev/null
menghasilkan "Total 4 (delta 3), digunakan kembali 4 (delta 3)". Itu dengan git 2.0.1.git command >/dev/null 2>&1
. Ini mengalihkan stdout dan stderr ke / dev / null. The--quiet
opsi untuk menghasilkan output ringkas, bukan untuk menekan keluaran seluruhnya @AnkurMenggunakan
&> /dev/null
di bagian akhir memberi Anda keluaran perintah git yang sepenuhnya senyap.sumber
&>
adalah operator pengalihan IO bash. Lihat 3.6 di sini tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.htmlPerhatikan bahwa bahkan dengan
--quiet
, agit fetch
(yang memicu agit gc
) akan menghasilkan beberapa keluaran.Itu karena
git gc
bagian dari filegit fetch
.Tidak lagi, mulai git 2.1.1 (Sept 2014): lihat commit 6fceed3bea59d747c160972c67663e8b8c281229 dari Nguyễn Thái Ngọc Duy (
pclouds
)ambil: diam
git-gc
jika--quiet
diberikanbuiltin/fetch.c
:sumber