Adakah cara agar saya dapat melacak perintah yang saya gunakan di Git pada Windows? Saya ingin melihat semua perintah yang telah saya terapkan di repositori saya.
Saya ingin dapat melihat kembali riwayat perintah dan mencari tahu perintah yang menyebabkan masalah jika terjadi.
Melihat riwayat komit akan menjadi satu hal, tetapi untuk menyimpan riwayat tindakan lain seperti membuat cabang atau menambahkan remote, apakah ini dilacak?
.git/logs
, Anda akan melihat sejarah dari apa yang ditunjuk oleh setiap cabang.push
tidak mengubah status cabang lokal,reflog
tampaknya tidak menyimpanpush
es, jadi mencari ke dalam.git/logs/refs/remotes/*/*
adalah satu-satunya cara untuk melihatpush
riwayat Anda .Jawaban:
git akan menunjukkan perubahan dalam komit yang memengaruhi indeks, seperti
git rm
. Itu tidak menyimpan log dari semua perintah git yang Anda jalankan.Namun, sejumlah besar perintah git memengaruhi indeks dalam beberapa cara, seperti membuat cabang baru. Perubahan ini akan muncul di riwayat komit, yang dapat Anda lihat bersama
git log
.Namun, ada perubahan merusak yang tidak bisa dilacak git, seperti
git reset
.Jadi, untuk menjawab pertanyaan Anda, git tidak menyimpan histori absolut dari
git
perintah yang Anda jalankan dalam repositori. Namun, seringkali mungkin untuk menginterpolasi perintah apa yang telah Anda jalankan melalui riwayat komit.sumber
git history
akan berguna misalnya untuk melihat perintah mana yang telah dijalankan dalam klon tertentu .git reflog
adalah apa yang kamu inginkan. Lihat jawabannya di bawah.git reflog
sebenarnya menunjukkan perintah itu sendiri. Selain itu, BTW, shell hanyalah cara yang sedikit lebih langsung untuk menyimpulkan perintah git, tetapi repo git dapat disentuh oleh beberapa shell. Lebih baik bertanya pada git perintah apa yang digunakan.Anda dapat melihat sejarahnya dengan git-reflog ( contoh di sini ):
sumber
git reflog
akan menampilkan semua posisi yang diikuti oleh HEAD Anda, ini tidak akan benar-benar menampilkan semua perintah git. Perintah Git yang tidak menggerakkan kepala (misalnyagit branch -D my_precious_branch
) tidak akan muncul di sana.git reflog --all
?git remote add foo bar
. ini tidak akan muncul digit reflog --all
, karena tidak mengubah penunjuk HEAD.git reflog
tidak menunjukkan perintah sepertigit status
aso., dengan atau tanpa--all
parameter.Log perintah Anda mungkin tersedia di riwayat shell Anda.
Jika melihat daftar perintah yang dieksekusi terbang bukan untuk Anda, ekspor daftar tersebut ke dalam file.
Anda dapat membatasi dump yang diekspor agar hanya menampilkan perintah dengan "git" di dalamnya dengan menyalurkannya dengan grep
Sejarah mungkin berisi baris yang diformat seperti itu
Menggunakan nomor tersebut, Anda dapat menjalankan kembali perintah dengan tanda seru
sumber
Jika Anda menggunakan CentOS atau varian Linux lainnya, cukup lakukan
Ctrl
+R
pada prompt dan ketikgit
.Jika Anda terus menekan
Ctrl
+R
ini akan melakukan pencarian terbalik melalui riwayat Anda untuk perintah yang dimulai dengangit
sumber
Ketik
history
terminal Anda. Secara teknis ini bukan git, tapi menurut saya itulah yang Anda inginkan.sumber
Jika Anda menggunakan Windows PowerShell, Anda dapat mengetik "git" dan menekan F8. Terus tekan F8 untuk menelusuri semua perintah git Anda.
Atau, jika Anda menggunakan cygwin, Anda dapat melakukan hal yang sama dengan ^ R.
sumber
Saya menemukan bahwa di versi git bash "2.24.0.windows.2" saya di folder "home" saya di bawah pengguna windows, akan ada file bernama ".bash-history" tanpa ekstensi file di folder itu. Itu hanya dibuat setelah Anda keluar dari bash.
Inilah alur kerja saya:
Jika Anda benar-benar menginginkan poin, saya rasa Anda dapat membuat file batch untuk melakukan semua ini, tetapi ini cukup baik untuk saya. Semoga bisa membantu seseorang.
sumber