Saya perlu mendapatkan laporan dari semua komitmen yang penulis lakukan. Sejauh ini, saya memiliki skrip yang membungkus perintah berikut:
git log --pretty=format:"%ad:%an:%d:%B" --date=short --reverse --all --since=2.months.ago --author=Petr
Ini bekerja dengan baik. Namun, itu hanya melaporkan tindakan untuk cabang saat ini. Apakah ada opsi yang akan mencatat pesan komit untuk penulis dari semua cabang , tidak hanya membentuk yang sekarang?
Dengan kata lain, dapatkah git membuat urutan diurutkan terbalik (berdasarkan datetime) dari semua commit di repositori dan mengekstrak info log dari urutan itu?
Diselesaikan: (disalin dari komentar di bawah yang disembunyikan sebaliknya)
Masalahnya adalah bahwa saya memiliki satu repositori dan dua klon untuk bekerja secara bersamaan pada dua cabang. Saya memang mendorong perubahan ke repositori asal, tapi saya lupa mengambil perubahan ke repositori yang dikloning. Dengan cara ini sepertinya --all
tidak berfungsi ketika menggunakannya untuk repositori hasil kloning.
git log
menerimacommittish
sebagai argumen pertama:git log mybranch
(dan daftarkan semua cabang yang Anda gunakangit branch
).committish
? Apakah mungkin untuk mendapatkan informasi melalui satu perintah git?--all
. Perintah Anda benargit rev-list
parsing,git log --all
tidak apa-apa.--all
, tetapi ternyata tidak bekerja seperti ini untuk saya. Saya tidak mengerti penjelasan bantuannya: Berpura-pura seolah-olah semua referensirefs/
tercantum pada baris perintah sebagai<commit>
.Jawaban:
Perintah Anda benar, karena Anda menggunakan
--all
sakelar yang memberikan semua komit dari semua cabang. Untuk menjawab pertanyaan dalam komentar Anda, itu berfungsi juga dalam repositori kosong.sumber
Alih-alih
--all
Anda mungkin ingin menggunakan--branches
, karena--all
juga termasukrefs/tags
danrefs/remotes
.sumber