Mulai git 1.8.5 (Q4 2013) , Anda akan dapat "menggunakan perintah Git, tetapi tanpa harus mengubah direktori".
Sama seperti " make -C <directory>", " git -C <directory> ..." memberitahu Git untuk pergi ke sana sebelum melakukan hal lain .
Lihat commit 44e1e4 oleh Nazri Ramliy :
Dibutuhkan lebih banyak penekanan tombol untuk menjalankan perintah Git di direktori yang berbeda tanpa meninggalkan direktori saat ini:
(cd ~/foo && git status)
git --git-dir=~/foo/.git --work-tree=~/foo status
GIT_DIR=~/foo/.git GIT_WORK_TREE=~/foo git status
(cd ../..; git grep foo)
for d in d1 d2 d3; do (cd $d && git svn rebase); done
Metode yang ditunjukkan di atas dapat diterima untuk skrip tetapi terlalu rumit untuk pemanggilan baris perintah cepat.
Dengan opsi baru ini, hal di atas dapat dilakukan dengan sedikit penekanan tombol:
git -C ~/foo status
git -C ../.. grep foo
for d in d1 d2 d3; do git -C $d svn rebase; done
Sejak Git 2.3.4 (Maret 2015), dan melakukan 6a536e2 oleh Karthik Nayak ( KarthikNayak) , gitakan memperlakukan " git -C '<path>'" sebagai larangan ketika <path>kosong.
' git -C ""' tidak membantu mati dengan kesalahan " Cannot change to ''", sedangkan shell memperlakukan cd "" 'sebagai larangan.
Mengambil perilaku shell sebagai preseden, ajarkan gituntuk memperlakukan -C "" sebagai no-op, juga.
4 tahun kemudian, Git 2.23 (Q3 2019) mendokumentasikan bahwa ' git -C ""' berfungsi dan tidak mengubah direktori
Sudah bersikap sejak 6a536e2 ( git: perlakukan " git -C '<path>'" sebagai <path>larangan saat kosong, 2015-03-06, Git v2.3.4).
Itu berarti dokumentasi sekarang (akhirnya) meliputi:
Jika ' <path>' ada tetapi kosong, misalnya -C "", maka direktori kerja saat ini dibiarkan tidak berubah.
Anda dapat melihat git -Cdigunakan dengan Git 2.26 (Q1 2020), sebagai contoh.
Lihat komit b441717 , komit 9291e63 , komit 5236fce , komit 10812c2 , komit 62d58cd , komit b87b02c , komit 9b92070 , komit 3595d10 , komit f511bc0 , komit f6041ab , komit f46c243 , komit 99c049b , komit 3.738.439 , komit 7.717.242 , komit b8afb90 (20 Desember 2019) oleh Denton Liu ( Denton-L) .
(Digabung oleh Junio C Hamano - gitster- dalam komit 381e8e9 , 05 Feb 2020)
t1507: Di barisan full_name()
Ditandatangani oleh: Denton Liu
Sebelumnya, kami berlari test_must_fail full_name. Namun, test_must_failseharusnya hanya digunakan pada perintah git.
Sebaris full_name()agar kita bisa menggunakan test_must_failpadagit perintah secara langsung.
Ketika full_name()diperkenalkan di 28fb84382b ("Introduce <branch>@{upstream}notation", 2009-09-10, Git v1.7.0-rc0 - merge ), git -Copsi belum tersedia (karena diperkenalkan di 44e1e4d67d (" git: jalankan di direktori yang diberikan dengan opsi -C ", 2013-09-09, Git v1.8.5-rc0 - gabung tercantum dalam batch # 5 )).
Akibatnya, fungsi helper menghilangkan kebutuhan secara manual cdsetiap kali. Namun, karena git -Csudah tersedia sekarang, kita bisa menggunakannya saja dan sebaris full_name().