Saya memiliki beberapa file php di Folder A (yang merupakan proyek git). Di file php ini saya ingin menjalankan "git log" tetapi untuk folder B. Folder B adalah proyek git lain (jadi log berbeda antara A dan B).
Bagaimana saya bisa melakukannya dengan perintah shell?
cd /other/dir && git log && cd -
di bash shell?--git-dir
: lihat jawaban saya di bawahJawaban:
Dari
man git
,:Anda dapat melakukan ini dengan
--git-dir
parameter, sebelum meneruskan perintah apa pun.(Menentukan
.git
direktori diperlukan.) Dari dokumentasi :sumber
.git
direktori. Cobagit --git-dir=/foo/bar/.git log
.log
. Cobagit --git-dir /foo/someclone/.git status
- git menjadi sangat bingung. Saya merekomendasikan-C
seperti yang disebutkan di bawah ini.man git
melakukannya di sistem saya (2.3.5). Tapi jawaban @VonC bekerja jauh lebih baik.Dengan git 1.8.5 (Q4 2013) , Anda memiliki pilihan lain, selain pengaturan
--git-dir
.Jika Anda ingin mengeksekusi
git log
di folderB
, ketik:Lihat commit 44e1e4 oleh Nazri Ramliy :
sumber
log
.-R
pilihan Mercurial , karena itu mengacaukan jalur relatif. Misalnya, jika saya mengetikgit -C subdir log subdir/myfile
itu memberikan kesalahan (karena mencari filesubdir/subdir/myfile
).for p in (find . -type d -name ".git"); do git --git-dir $p ...; done
git
berpikir itu lebih pintar dari saya dan apa yang saya ketik. Jika saya mengatakan 'jalankan ini di direktori X', saya tidak bermaksud 'kecuali kadang-kadang, lakukan sesuatu yang lain'.