Ini ialah arahan git-log yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
git-log - Tunjukkan log komit
SINOPSIS
pergi log [ ] [ ] [[--] ...]
DESCRIPTION
Menunjukkan log komit.
Perintah mengambil pilihan yang boleh digunakan pada arahan git rev-list untuk mengawal apa yang ditunjukkan
dan bagaimana, dan pilihan yang boleh digunakan pada perintah git diff-* untuk mengawal cara perubahan setiap satu
commit memperkenalkan ditunjukkan.
PILIHAN
--ikut
Teruskan menyenaraikan sejarah fail melangkaui nama semula (hanya berfungsi untuk satu fail).
--tiada-hias, --hias[=pendek|penuh|tidak]
Cetak nama ref mana-mana komitmen yang ditunjukkan. Jika pendek dinyatakan, ref
awalan nama rujukan/kepala/, rujukan/tag/ and rujukan/jarak jauh/ tidak akan dicetak. Jika penuh
ditentukan, nama rujukan penuh (termasuk awalan) akan dicetak. Pilihan lalai
is pendek.
--sumber
Cetak nama ref yang diberikan pada baris arahan yang mana setiap komit dicapai.
--gunakan-peta mel
Gunakan fail peta mel untuk memetakan nama pengarang dan komitter serta alamat e-mel kepada kanonik
nama sebenar dan alamat e-mel. Lihat git-shortlog(1).
--perbezaan penuh
Tanpa bendera ini, git log -p ... menunjukkan komitmen yang menyentuh laluan yang ditentukan,
dan berbeza tentang laluan yang ditentukan yang sama. Dengan ini, perbezaan penuh ditunjukkan untuk
melakukan yang menyentuh laluan yang ditentukan; ini bermakna bahawa " ..." had sahaja
melakukan, dan tidak mengehadkan perbezaan untuk komitmen tersebut.
Ambil perhatian bahawa ini memberi kesan kepada semua jenis keluaran berasaskan perbezaan, contohnya yang dihasilkan oleh --stat,
dan lain-lain.
--saiz log
Sertakan baris "saiz log ” dalam output untuk setiap komit, di mana ialah
panjang mesej komit itu dalam bait. Bertujuan untuk mempercepatkan alat yang membaca log
mesej daripada output log git dengan membenarkan mereka memperuntukkan ruang terlebih dahulu.
-L , : , -L : :
Jejaki evolusi julat garis yang diberikan oleh " , " (atau nama fungsi
regex ) Di antara . Anda tidak boleh memberikan sebarang pengehad spesifikasi laluan. Ini adalah
kini terhad kepada berjalan kaki bermula dari satu semakan, iaitu, anda hanya boleh memberi
sifar atau satu hujah semakan positif. Anda boleh menentukan pilihan ini lebih daripada sekali.
dan boleh mengambil salah satu daripada borang ini:
· nombor
Jika atau ialah nombor, ia menentukan nombor baris mutlak (bilangan baris
daripada 1).
· /regex/
Borang ini akan menggunakan baris pertama yang sepadan dengan regex POSIX yang diberikan. Jika ialah
regex, ia akan mencari dari penghujung julat -L sebelumnya, jika ada, sebaliknya
dari permulaan fail. Jika ialah “^/regex/”, ia akan mencari dari permulaan
fail. Jika ialah regex, ia akan mencari bermula pada baris yang diberikan oleh .
· +offset atau -offset
Ini hanya sah untuk dan akan menentukan beberapa baris sebelum atau selepas
garisan yang diberikan oleh .
Jika ": ” diberikan sebagai ganti dan , ia adalah ungkapan biasa
yang menandakan julat daripada baris nama fungsi pertama yang sepadan , sehingga ke
baris nama fungsi seterusnya. “: ” carian dari hujung julat -L sebelumnya, jika
mana-mana, sebaliknya dari permulaan fail. “^: ” carian dari permulaan fail.
Tunjukkan hanya komit dalam julat semakan yang ditentukan. Apabila tidak ialah
ditentukan, ia lalai kepada HEAD (iaitu keseluruhan sejarah yang membawa kepada komit semasa).
asal..HEAD menentukan semua komit yang boleh dicapai daripada komit semasa (iaitu HEAD),
tetapi bukan dari asal. Untuk senarai lengkap cara mengeja , lihat
Menentukan Banjaran seksyen gitrevisyen(7).
[--] ...
Tunjukkan hanya komitmen yang cukup untuk menerangkan cara fail yang sepadan dengan yang ditentukan
jalan menjadi. Lihat Sejarah pemudahan di bawah untuk butiran dan lain-lain
mod penyederhanaan.
Laluan mungkin perlu diawali dengan '`--' untuk memisahkannya daripada pilihan atau
julat semakan, apabila kekeliruan timbul.
komited Mengehadkan
Selain menentukan julat komit yang harus disenaraikan menggunakan tatatanda khas
dijelaskan dalam huraian, pengehadan komitmen tambahan boleh digunakan.
Menggunakan lebih banyak pilihan biasanya mengehadkan lagi output (cth --since= had kepada
melakukan lebih baru daripada , dan menggunakannya dengan --grep= had selanjutnya untuk melakukan
yang mesej lognya mempunyai baris yang sepadan ), melainkan dinyatakan sebaliknya.
Ambil perhatian bahawa ini digunakan sebelum membuat pilihan pesanan dan pemformatan, seperti
--terbalik.
- , -n , --max-count=
Hadkan bilangan komitmen kepada output.
--langkau=
Langkau nombor commit sebelum mula menunjukkan output commit.
--sejak= , --selepas=
Show commit lebih terkini daripada tarikh tertentu.
--sehingga= , --sebelum=
Show komit lebih lama daripada tarikh tertentu.
--pengarang= , --committer=
Hadkan output commit kepada yang mempunyai baris pengepala pengarang/committer yang sepadan dengan
corak yang ditentukan (ungkapan biasa). Dengan lebih daripada satu --author= , komited
yang pengarangnya sepadan dengan mana-mana corak yang diberikan dipilih (begitu juga untuk berbilang
--committer= ).
--grep-reflog=
Hadkan output komit kepada yang mempunyai entri reflog yang sepadan dengan corak yang ditentukan
(ekspresi biasa). Dengan lebih daripada satu --grep-reflog, melakukan mesej reflognya
sepadan dengan mana-mana corak yang diberikan dipilih. Ia adalah ralat untuk menggunakan pilihan ini melainkan
--walk-reflogs sedang digunakan.
--grep=
Hadkan output komit kepada yang mempunyai mesej log yang sepadan dengan corak yang ditentukan
(ekspresi biasa). Dengan lebih daripada satu --grep= , melakukan mesej siapa
sepadan dengan mana-mana corak yang diberikan dipilih (tetapi lihat --all-match).
Apabila --show-notes berkuat kuasa, mesej daripada nota dipadankan seolah-olah ia berlaku
sebahagian daripada mesej log.
--semua-padanan
Hadkan output komit kepada output yang sepadan dengan semua yang diberikan --grep, bukannya output yang sepadan
sepadan sekurang-kurangnya satu.
--invert-grep
Hadkan output komit kepada yang mempunyai mesej log yang tidak sepadan dengan corak
ditentukan dengan --grep= .
-i, --regexp-ignore-case
Padankan corak mengehadkan ungkapan biasa tanpa mengambil kira huruf besar.
--asas-regexp
Pertimbangkan corak pengehadan sebagai ungkapan biasa asas; ini adalah lalai.
-E, --extended-regexp
Pertimbangkan corak pengehadan untuk dilanjutkan ungkapan biasa dan bukannya
ungkapan biasa asas lalai.
-F, --tali-tetap
Pertimbangkan corak pengehad sebagai rentetan tetap (jangan tafsirkan corak sebagai a
ekspresi biasa).
--perl-regexp
Pertimbangkan corak pengehadan sebagai ungkapan biasa yang serasi dengan Perl. Memerlukan
libpcre untuk disusun.
--buang-kosong
Berhenti apabila laluan tertentu hilang dari pokok.
--bercantum
Cetak hanya penggabungan komitmen. Ini betul-betul sama dengan --min-parents=2.
--tidak-bercantum
Jangan cetak komitmen dengan lebih daripada satu ibu bapa. Ini betul-betul sama dengan
--maks-ibu bapa=1.
--min-ibu bapa= , --maks-ibu bapa= , --no-min-parents, --no-max-parents
Tunjukkan hanya komitmen yang mempunyai sekurang-kurangnya (atau paling banyak) yang dilakukan oleh kebanyakan ibu bapa. Dalam
khususnya, --max-parents=1 adalah sama dengan --no-merges, --min-parents=2 adalah sama seperti
--bercantum. --max-parents=0 memberikan semua root commit dan --min-parents=3 semua sotong
bercantum.
--no-min-parents dan --no-max-parents menetapkan semula had ini (tanpa had) sekali lagi.
Borang yang setara ialah --min-parents=0 (mana-mana komit mempunyai 0 atau lebih ibu bapa) dan
--maks-ibu bapa=-1 (nombor negatif menunjukkan tiada had atas).
--ibu bapa pertama
Ikuti hanya komitmen induk pertama apabila melihat komitmen gabungan. Pilihan ini boleh memberi a
gambaran keseluruhan yang lebih baik apabila melihat evolusi cabang topik tertentu, kerana
bergabung ke dalam cabang topik cenderung hanya tentang menyesuaikan diri dengan kemas kini huluan daripada
dari semasa ke semasa, dan pilihan ini membolehkan anda mengabaikan komitmen individu yang dibawa masuk
kepada sejarah anda dengan penggabungan sedemikian. Tidak boleh digabungkan dengan --bisect.
--bukan
Membalikkan maksud ^ awalan (atau kekurangannya) untuk semua semakan berikut
penentu, sehingga seterusnya --bukan.
--semua
Berpura-pura seolah-olah semua rujukan dalam rujukan/ disenaraikan pada baris arahan sebagai .
--cawangan[= ]
Berpura-pura seolah-olah semua rujukan dalam rujukan/kepala disenaraikan pada baris arahan sebagai .
If diberikan, hadkan cawangan kepada yang sepadan dengan glob shell yang diberikan. Jika corak
kurang ?, *, Atau [, /* pada akhirnya tersirat.
--tag[= ]
Berpura-pura seolah-olah semua rujukan dalam rujukan/teg disenaraikan pada baris arahan sebagai . Jika
diberikan, hadkan tag kepada yang sepadan dengan glob shell yang diberikan. Jika corak kurang ?,
*, Atau [, /* pada akhirnya tersirat.
--jarak jauh[= ]
Berpura-pura seolah-olah semua rujukan dalam rujukan/jarak jauh disenaraikan pada baris arahan sebagai .
If diberikan, hadkan cawangan penjejakan jauh kepada yang sepadan dengan shell yang diberikan
glob. Jika corak kurang ?, *, Atau [, /* pada akhirnya tersirat.
--glob=
Berpura-pura seolah-olah semua ref sepadan dengan glob shell disenaraikan di
baris arahan sebagai . Mengetuai rujuk/, ditambah secara automatik jika tiada. Jika
corak kurang ?, *, Atau [, /* pada akhirnya tersirat.
--exclude=
Jangan sertakan rujukan yang sepadan bahawa seterusnya --semua, --cawangan, --tag,
--remotes, atau --glob sebaliknya akan mempertimbangkan. Pengulangan pilihan ini terkumpul
corak pengecualian sehingga seterusnya --semua, --cawangan, --tag, --jauh atau --glob
pilihan (pilihan atau hujah lain tidak mengosongkan corak terkumpul).
Corak yang diberikan tidak seharusnya bermula dengan rujukan/kepala, rujukan/tag, atau rujukan/jauh apabila
digunakan pada --cawangan, --tag, atau --remote, masing-masing, dan ia mesti bermula dengan
refs/ apabila digunakan pada --glob atau --semua. Jika mengekori /* diniatkan, mesti diberikan
secara eksplisit.
--reflog
Berpura-pura seolah-olah semua objek yang disebut oleh reflogs disenaraikan pada baris arahan sebagai
.
--abaikan-hilang
Apabila melihat nama objek yang tidak sah dalam input, berpura-pura seolah-olah input buruk itu bukan
diberi.
--belah dua
Berpura-pura seolah-olah ref refs/bisect/buruk terbahagi buruk telah disenaraikan dan seolah-olah ia
diikuti dengan --not dan pembahagian dua yang baik refs refs/bisect/good-* pada baris arahan.
Tidak boleh digabungkan dengan --first-parent.
--stdin
Sebagai tambahan kepada disenaraikan pada baris arahan, bacanya dari standard
input. Sekiranya -- pemisah dilihat, berhenti membaca commit dan mula membaca laluan ke
hadkan hasilnya.
--tanda ceri
Suka --cherry-pick (lihat di bawah) tetapi tandakan setara komit dengan = dan bukannya meninggalkan
mereka, dan yang tidak setara dengan +.
--petik ceri
Tinggalkan sebarang komitmen yang memperkenalkan perubahan yang sama seperti komitmen lain pada "sebelah lain"
apabila set komit dihadkan dengan perbezaan simetri.
Contohnya, jika anda mempunyai dua cawangan, A dan B, cara biasa untuk menyenaraikan semua komitmen
hanya satu bahagian daripadanya dengan --kiri-kanan (lihat contoh di bawah dalam huraian
daripada pilihan --kiri-kanan). Walau bagaimanapun, ia menunjukkan komitmen yang telah dipetik ceri
daripada cawangan lain (contohnya, "ke-3 pada b" mungkin dipetik ceri daripada cawangan A).
Dengan pilihan ini, pasangan komit tersebut dikecualikan daripada output.
--kiri-sahaja, --kanan-sahaja
Senarai hanya melakukan pada sisi masing-masing julat simetri, iaitu hanya yang
akan ditanda < resp. > oleh --kiri-kanan.
Sebagai contoh, --cherry-pick --right-only A...B menghilangkan komitmen daripada B yang berada dalam
A atau adalah bersamaan tampalan dengan komit dalam A. Dalam erti kata lain, ini menyenaraikan komit +
daripada git cherry A B. Lebih tepat lagi, --cherry-pick --right-only --no-merges memberikan
senarai tepat.
--ceri
Sinonim untuk --right-only --cherry-mark --no-merges; berguna untuk mengehadkan output kepada
komit di sebelah kami dan tandakan yang telah digunakan pada sisi lain a
sejarah bercabang dengan git log --cherry upstream...mybranch, serupa dengan git cherry
hulu mybranch.
-g, --berjalan-reflogs
Daripada mengikuti rantaian keturunan komit, ikuti entri reflog dari yang paling terkini
seorang kepada yang lebih tua. Apabila pilihan ini digunakan, anda tidak boleh menentukan komitmen untuk dikecualikan
(itu dia, ^komit, komited1..komit2, dan komit1...komit2 notasi tidak boleh digunakan).
Dengan format --pretty selain daripada satu baris (atas sebab yang jelas), ini menyebabkan output
untuk mempunyai dua baris maklumat tambahan yang diambil daripada reflog. Secara lalai, commit@{Nth}
notasi digunakan dalam output. Apabila komit permulaan ditentukan sebagai komit@{sekarang},
output juga menggunakan commit@{timestamp} notasi sebaliknya. Di bawah --pretty=oneline, the
commit message diawali dengan maklumat ini pada baris yang sama. Pilihan ini tidak boleh
digabungkan dengan --reverse. Lihat juga git-reflog(1).
--bercantum
Selepas gabungan yang gagal, tunjukkan rujukan yang menyentuh fail yang mempunyai konflik dan tidak wujud
semua kepala untuk bergabung.
--sempadan
Komit sempadan yang dikecualikan keluaran. Komit sempadan diawali dengan -.
Sejarah pemudahan
Kadangkala anda hanya berminat dengan bahagian sejarah, contohnya komit
mengubah suai tertentu . Tetapi terdapat dua bahagian Sejarah pemudahan, satu bahagian
sedang memilih komit dan satu lagi ialah cara melakukannya, kerana terdapat pelbagai strategi untuk
permudahkan sejarah.
Pilihan berikut memilih komit untuk ditunjukkan:
Berkomitmen mengubah suai yang diberikan dipilih.
--mudahkan-dengan-hiasan
Komit yang dirujuk oleh sesetengah cawangan atau teg dipilih.
Ambil perhatian bahawa komitmen tambahan boleh ditunjukkan untuk memberikan sejarah yang bermakna.
Pilihan berikut mempengaruhi cara pemudahan dilakukan:
Mod lalai
Memudahkan sejarah kepada sejarah paling ringkas menerangkan keadaan akhir pokok itu.
Paling mudah kerana ia memangkas beberapa dahan sampingan jika hasil akhirnya adalah sama (cth
menggabungkan cawangan dengan kandungan yang sama)
--penuh-sejarah
Sama seperti mod lalai, tetapi tidak memangkas beberapa sejarah.
--padat
Hanya komitmen yang dipilih ditunjukkan, ditambah beberapa untuk mempunyai sejarah yang bermakna.
--jarang
Semua komitmen dalam sejarah yang dipermudahkan ditunjukkan.
--mudahkan-cantum
Pilihan tambahan kepada --full-history untuk mengalih keluar beberapa cantuman yang tidak perlu daripada yang terhasil
sejarah, kerana tiada komitmen terpilih yang menyumbang kepada gabungan ini.
--jalan keturunan
Apabila diberi julat komitmen untuk dipaparkan (cth komited1..komit2 or komited2 ^komit1),
hanya paparan komit yang wujud secara langsung pada rantaian keturunan antara komited1 and
komited2, iaitu melakukan yang kedua-duanya keturunan komited1, dan nenek moyang komited2.
Penjelasan lebih terperinci berikut.
Katakan anda menyatakan foo sebagai . Kami akan memanggil komitmen yang mengubah suai foo !TREESAME,
dan selebihnya POKOK. (Dalam perbezaan yang ditapis untuk foo, mereka kelihatan berbeza dan sama,
masing-masing.)
Dalam perkara berikut, kami akan sentiasa merujuk kepada contoh sejarah yang sama untuk menggambarkan
perbezaan antara tetapan penyederhanaan. Kami menganggap bahawa anda sedang menapis untuk fail
foo dalam graf komit ini:
.-A---M---N---O---P---Q
//////
IBCDEY
\ // / / /
`-------------' X
Garis mendatar sejarah A---Q diambil sebagai induk pertama bagi setiap gabungan. The
melakukan adalah:
· I ialah komit awal, di mana foo wujud dengan kandungan "asdf", dan fail quux
wujud dengan kandungan "quux". Komit awal dibandingkan dengan pokok kosong, jadi saya begitu
!SAMA POKOK.
· Dalam A, foo mengandungi hanya "foo".
· B mengandungi perubahan yang sama seperti A. Gabungannya M adalah remeh dan oleh itu TREESAME kepada semua
ibu bapa.
· C tidak menukar foo, tetapi gabungannya N menukarnya kepada “foobar”, jadi ia bukan TREESAME
kepada mana-mana ibu bapa.
· D tetapkan foo kepada “baz”. Gabungannya O menggabungkan rentetan dari N dan D kepada "foobarbaz";
iaitu, ia bukan TREESAME kepada mana-mana ibu bapa.
· E menukar quux kepada “xyzzy”, dan gabungan Pnya menggabungkan rentetan kepada “quux xyzzy”. P ialah
TREESAME kepada O, tetapi tidak kepada E.
· X ialah komit akar bebas yang menambah sisi fail baharu, dan Y mengubah suainya. Y ialah
TREESAME kepada X. Cantumannya Q menambah sisi kepada P, dan Q ialah TREESAME kepada P, tetapi tidak kepada Y.
rev-list berjalan ke belakang melalui sejarah, termasuk atau tidak termasuk komit berdasarkan sama ada
--full-history dan/atau penulisan semula ibu bapa (melalui --parents atau --children) digunakan. The
tetapan berikut tersedia.
Mod lalai
Komit disertakan jika ia bukan TREESAME kepada mana-mana ibu bapa (walaupun ini boleh
berubah, lihat --jarang di bawah). Jika komit adalah gabungan, dan ia adalah TREESAME kepada satu
ibu bapa, ikut ibu bapa itu sahaja. (Walaupun terdapat beberapa ibu bapa yang SAMA POKOK, ikuti
hanya seorang sahaja.) Jika tidak, ikut semua ibu bapa.
Ini menghasilkan:
.-A---N---O
//
ID
Perhatikan bagaimana peraturan untuk hanya mengikut induk TREESAME, jika ada, dialih keluar B
daripada pertimbangan sepenuhnya. C telah dipertimbangkan melalui N, tetapi adalah POKOK. Root commit
dibandingkan dengan pokok kosong, jadi saya adalah !POKOK.
Hubungan ibu bapa/anak hanya boleh dilihat dengan --ibu bapa, tetapi itu tidak menjejaskan
commit dipilih dalam mod lalai, jadi kami telah menunjukkan baris induk.
--full-history tanpa ibu bapa menulis semula
Mod ini berbeza daripada lalai dalam satu titik: sentiasa ikuti semua ibu bapa gabungan,
walaupun ia adalah POKOK kepada salah seorang daripada mereka. Walaupun lebih daripada satu bahagian gabungan mempunyai
melakukan yang disertakan, ini tidak membayangkan bahawa gabungan itu sendiri adalah! Di dalam
contoh, kita dapat
IABNDOPQ
M dikecualikan kerana ia adalah POKOK kepada kedua ibu bapa. E, C dan B semuanya berjalan,
tetapi hanya B yang !SAMA POKOK, jadi yang lain tidak kelihatan.
Ambil perhatian bahawa tanpa penulisan semula ibu bapa, tidak mungkin untuk bercakap tentang
perhubungan ibu bapa/anak antara komitmen, jadi kami menunjukkannya terputus hubungan.
--sejarah penuh dengan penulisan semula ibu bapa
Komit biasa hanya disertakan jika ia adalah !TREESAME (walaupun ini boleh diubah,
lihat --jarang di bawah).
Gabungan sentiasa disertakan. Walau bagaimanapun, senarai ibu bapa mereka ditulis semula: Bersama setiap satu
ibu bapa, hapuskan komitmen yang tidak termasuk dalam diri mereka. Ini mengakibatkan
.-A---M---N---O---P---Q
/////
IB / D /
\ // / /
`-------------'
Bandingkan dengan --full-history tanpa menulis semula di atas. Perhatikan bahawa E telah dipangkas kerana
ia adalah POKOK, tetapi senarai induk P telah ditulis semula untuk mengandungi induk E I.
yang sama berlaku untuk C dan N, dan X, Y dan Q.
Selain tetapan di atas, anda boleh menukar sama ada TREESAME mempengaruhi kemasukan:
--padat
Komitmen yang dijalani adalah termasuk jika ia bukan POKOK kepada mana-mana ibu bapa.
--jarang
Semua komitmen yang dijalankan disertakan.
Ambil perhatian bahawa tanpa --full-history, ini masih memudahkan gabungan: jika salah seorang daripada ibu bapa
adalah SAMA POKOK, kami hanya mengikuti satu itu sahaja, jadi bahagian lain gabungan itu tidak pernah
berjalan.
--mudahkan-cantum
Mula-mula, bina graf sejarah dengan cara yang sama seperti --full-history dengan penulisan semula induk
lakukan (lihat di atas).
Kemudian permudahkan setiap komit C kepada penggantian C' dalam sejarah akhir mengikut
peraturan berikut:
· Tetapkan C' kepada C.
· Gantikan setiap induk P daripada C' dengan penyederhanaannya P'. Dalam proses, jatuhkan
ibu bapa yang merupakan nenek moyang kepada ibu bapa yang lain atau yang akarnya melakukan POKOK kepada
pokok kosong, dan keluarkan pendua, tetapi berhati-hati untuk tidak menggugurkan semua ibu bapa itu
kami POKOK ke.
· Jika selepas induk ini menulis semula, C' ialah komit akar atau gabungan (mempunyai sifar atau >1
ibu bapa), komitmen sempadan, atau !SAMA POKOK, ia kekal. Jika tidak, ia diganti
dengan satu-satunya ibu bapanya.
Kesan ini paling baik ditunjukkan dengan cara membandingkan --full-history dengan induk
menulis semula. Contoh bertukar menjadi:
.-A---M---N---O
//
IBD
\ //
`---------'
Perhatikan perbezaan utama dalam N, P dan Q berbanding --full-history:
· Senarai induk N telah saya alih keluar, kerana ia adalah moyang kepada ibu bapa yang lain M.
Namun, N kekal kerana ia adalah !POKOK.
· Senarai induk P juga telah saya alih keluar. P kemudian dikeluarkan sepenuhnya, kerana
ia mempunyai satu ibu bapa dan adalah POKOK.
· Senarai induk Q telah Y dipermudahkan kepada X. X kemudian dialih keluar, kerana ia ialah a
Akar POKOK. Q kemudiannya dialih keluar sepenuhnya, kerana ia mempunyai satu induk dan adalah
SAMA POKOK.
Akhirnya, terdapat mod penyederhanaan kelima yang tersedia:
--jalan keturunan
Hadkan komitmen yang dipaparkan kepada yang secara langsung pada rantaian keturunan antara "dari"
dan komit "kepada" dalam julat komit yang diberikan. Iaitu hanya paparan komit yang
nenek moyang komit "kepada" dan keturunan komit "daripada".
Sebagai contoh kes penggunaan, pertimbangkan sejarah komit berikut:
D---E-------F
/ \ \
B---C---G---H---I---J
/ \
A-------K--------------L--M
Yang biasa D..M mengira set komitmen yang merupakan nenek moyang M, tetapi tidak termasuk
yang merupakan nenek moyang D. Ini berguna untuk melihat apa yang berlaku kepada sejarah
membawa kepada M sejak D, dalam erti kata "apa yang M ada yang tidak wujud dalam D".
Hasil dalam contoh ini ialah semua komit, kecuali A dan B (dan D sendiri, daripada
kursus).
Apabila kita ingin mengetahui apa yang dilakukan dalam M tercemar dengan pepijat yang diperkenalkan oleh
D dan perlu diperbaiki, bagaimanapun, kami mungkin mahu melihat subset sahaja D..M yang
sebenarnya keturunan D, iaitu tidak termasuk C dan K. Inilah yang sebenarnya
--pilihan laluan keturunan tidak. Digunakan pada D..M julat, ia menghasilkan:
E-------F
\ \
G---H---Saya---J
\
L--M
Pilihan --simplify-by-decoration membolehkan anda melihat gambaran besar sahaja
topologi sejarah, dengan meninggalkan komit yang tidak dirujuk oleh teg. Komit adalah
ditanda sebagai !TREESAME (dalam erti kata lain, disimpan selepas peraturan pemudahan sejarah yang diterangkan
di atas) jika (1) mereka dirujuk oleh teg, atau (2) mereka menukar kandungan laluan
diberikan pada baris arahan. Semua komitmen lain ditandakan sebagai TREESAME (tertakluk kepada
dipermudahkan).
komited Susunan
Secara lalai, komit ditunjukkan dalam susunan kronologi terbalik.
--tarikh-pesanan
Jangan tunjukkan ibu bapa sebelum semua anaknya ditunjukkan, tetapi sebaliknya tunjukkan komitmen
perintah cap masa komit.
--perintah-tarikh-pengarang
Jangan tunjukkan ibu bapa sebelum semua anaknya ditunjukkan, tetapi sebaliknya tunjukkan komitmen
pesanan cap masa pengarang.
--topo-order
Jangan tunjukkan ibu bapa sebelum semua anak mereka ditunjukkan, dan elakkan menunjukkan komitmen
pelbagai baris sejarah bercampur.
Sebagai contoh, dalam sejarah komit seperti ini:
---1----2----4----7
\ \
3----5----6----8---
di mana nombor menunjukkan susunan cap masa komit, git rev-list dan rakan dengan
--urutan tarikh menunjukkan komit dalam susunan cap masa: 8 7 6 5 4 3 2 1.
Dengan --topo-order, mereka akan menunjukkan 8 6 5 3 7 4 2 1 (atau 8 7 4 2 6 5 3 1); ada yang lebih tua
commit ditunjukkan sebelum yang lebih baru untuk mengelakkan menunjukkan commit daripada dua
landasan pembangunan selari dicampur bersama.
--terbalik
Keluarkan komit dalam susunan terbalik. Tidak boleh digabungkan dengan --walk-reflogs.
Objek Melintang
Pilihan ini kebanyakannya disasarkan untuk pembungkusan repositori Git.
--tidak-berjalan[=(diisih|tidak diisih)]
Hanya tunjukkan komitmen yang diberikan, tetapi jangan melintasi nenek moyang mereka. Ini tiada kesan
jika julat ditentukan. Jika hujah yang tidak diisih diberikan, komit ditunjukkan dalam
perintah yang diberikan pada baris arahan. Jika tidak (jika diisih atau tiada hujah
diberikan), komit ditunjukkan dalam susunan kronologi terbalik mengikut masa komit. Tidak boleh
digabungkan dengan --graf.
--berjalan-jalan
Mengatasi --tidak berjalan kaki sebelumnya.
komited Pemformatan
--cantik[= ], --format=
Cetak cantik kandungan log komit dalam format tertentu, di mana boleh
salah satu satu garisan, pendek, sederhana, penuh, lebih lengkap, e-mel, mentah, format: and
tformat:. Apabila bukan satu pun di atas, dan mempunyai % pemegang tempat di dalamnya, ia
bertindak seolah-olah --pretty=tformat: telah diberikan.
Lihat bahagian "FORMAT CANTIK" untuk beberapa butiran tambahan bagi setiap format. Bila
= bahagian ditinggalkan, ia lalai kepada sederhana.
Nota: anda boleh menentukan format cantik lalai dalam konfigurasi repositori (lihat
git-config(1)).
--singkat-komit
Daripada menunjukkan nama objek komit perenambelasan 40-bait penuh, tunjukkan hanya a
awalan separa. Nombor digit bukan lalai boleh ditentukan dengan "--abbrev= "
(yang turut mengubah suai output berbeza, jika ia dipaparkan).
Ini sepatutnya menjadikan "--pretty=oneline" lebih mudah dibaca oleh orang yang menggunakan
Terminal 80 lajur.
--tiada-singkat-komit
Tunjukkan nama objek komit perenambelasan penuh 40-bait. Ini menafikan --abbrev-commit dan
pilihan tersebut yang membayangkannya seperti "--oneline". Ia juga mengatasi
log.abbrevCommit berubah-ubah.
--satu garisan
Ini ialah singkatan untuk "--pretty=oneline --abbrev-commit" yang digunakan bersama.
--pengekodan=
Objek komit merekodkan pengekodan yang digunakan untuk mesej log dalam pengekodannya
kepala; pilihan ini boleh digunakan untuk memberitahu arahan untuk mengekod semula mesej log komit
dalam pengekodan yang disukai oleh pengguna. Untuk arahan bukan paip ini lalai kepada
UTF-8. Ambil perhatian bahawa jika objek mendakwa dikodkan dalam X dan kami mengeluarkan dalam X, kami
akan mengeluarkan objek verbatim; ini bermakna urutan tidak sah dalam asal
commit boleh disalin ke output.
--nota[= ]
Tunjukkan nota (lihat git-nota(1)) yang menganotasi komit, apabila menunjukkan komit
mesej log. Ini adalah lalai untuk arahan git log, git show dan git whatchanged
apabila tiada pilihan --pretty, --format, atau --oneline diberikan pada baris arahan.
Secara lalai, nota yang ditunjukkan adalah daripada rujukan nota yang disenaraikan dalam core.notaRujuk and
nota.displayRef pembolehubah (atau penggantian persekitaran yang sepadan). Lihat git-config(1)
untuk maklumat lanjut.
Dengan pilihan hujah, tunjukkan rujukan nota ini dan bukannya nota lalai
ref(s). Ruj menentukan nama semula penuh apabila ia bermula dengan rujukan/nota/; bila ia
bermula dengan nota/, rujukan/ dan sebaliknya rujukan/nota/ diberi awalan untuk membentuk nama penuh
ref.
Berbilang pilihan --nota boleh digabungkan untuk mengawal nota yang sedang dipaparkan.
Contoh: "--notes=foo" akan menunjukkan hanya nota daripada "refs/notes/foo"; "--nota=foo
--notes" akan menunjukkan kedua-dua nota daripada "refs/notes/foo" dan daripada nota lalai ref(s).
--tiada-nota
Jangan tunjukkan nota. Ini menafikan pilihan --nota di atas, dengan menetapkan semula senarai
nota rujukan dari mana nota ditunjukkan. Pilihan dihuraikan dalam susunan yang diberikan pada
baris arahan, jadi contohnya "--notes --notes=foo --no-notes --notes=bar" hanya akan dipaparkan
nota daripada "refs/notes/bar".
--tunjuk-nota[= ], --[tiada-]nota-standard
Pilihan ini ditamatkan. Sebaliknya gunakan pilihan --nota/--no-nota di atas.
--tunjuk-tandatangan
Semak kesahihan objek komit yang ditandatangani dengan menghantar tandatangan ke gpg --verify
dan tunjukkan output.
--relatif-tarikh
Sinonim untuk --date=relative.
--tarikh=
Hanya berkuat kuasa untuk tarikh yang ditunjukkan dalam format yang boleh dibaca manusia, seperti semasa menggunakan
--cantik. pembolehubah konfigurasi log.date menetapkan nilai lalai untuk arahan log --date
pilihan. Secara lalai, tarikh ditunjukkan dalam zon waktu asal (sama ada committer atau
pengarang). Jika -local dilampirkan pada format (cth, iso-local), tempatan pengguna
zon waktu digunakan sebaliknya.
--date=relative menunjukkan tarikh relatif kepada masa semasa, contohnya "2 jam yang lalu". The
-pilihan tempatan tidak boleh digunakan dengan --raw atau --relative.
--date=local ialah alias untuk --date=default-local.
--date=iso (atau --date=iso8601) menunjukkan cap masa dalam format seperti ISO 8601. The
perbezaan kepada format ISO 8601 yang ketat ialah:
· ruang bukannya pembatas tarikh/masa T
· ruang antara masa dan zon waktu
· tiada titik bertindih antara jam dan minit zon waktu
--date=iso-strict (atau --date=iso8601-strict) menunjukkan cap masa dalam ISO 8601 yang ketat
format.
--date=rfc (atau --date=rfc2822) menunjukkan cap masa dalam format RFC 2822, selalunya ditemui dalam
mesej e-mel.
--date=short hanya menunjukkan tarikh, tetapi bukan masa, dalam format YYYY-MM-DD.
--date=raw menunjukkan tarikh dalam format Git mentah dalaman %s %z format.
--date=format:... suapan format ... ke strftime sistem anda. Gunakan --date=format:%c
untuk menunjukkan tarikh dalam format pilihan tempat sistem anda. Lihat manual strftime untuk
senarai lengkap pemegang tempat format. Apabila menggunakan -local, sintaks yang betul ialah
--date=format-local:....
--date=default ialah format lalai, dan serupa dengan --date=rfc2822, dengan beberapa
pengecualian:
· tiada koma selepas hari dalam minggu
· zon waktu ditinggalkan apabila zon waktu tempatan digunakan
--ibu bapa
Cetak juga ibu bapa komit (dalam bentuk "komit ibu bapa..."). Juga membolehkan
ibu bapa menulis semula, lihat Sejarah pemudahan di bawah.
--kanak-kanak
Cetak juga anak-anak komit (dalam bentuk "komit anak..."). Juga membolehkan
ibu bapa menulis semula, lihat Sejarah pemudahan di bawah.
--kiri kanan
Tandai sebelah mana perbezaan simetri komit boleh dicapai. Komit dari kiri
sebelah diawali dengan < dan sebelah kanan dengan >. Jika digabungkan dengan --sempadan,
komitmen tersebut diawali dengan -.
Sebagai contoh, jika anda mempunyai topologi ini:
y---b---b cawangan B
/ \ /
/.
// \
o---x---a---cawangan A
anda akan mendapat output seperti ini:
$ git rev-list --left-right --boundary --pretty=oneline A...B
>bbbbbbb... ke-3 pada b
>bbbbbbb... ke-2 pada b
<aaaaaaa... 3rd on a
<aaaaaaa... 2nd on a
-yyyyyy... 1hb pada b
-xx... pertama pada a
--graf
Lukiskan perwakilan grafik berasaskan teks bagi sejarah komit di sebelah kiri
daripada keluaran. Ini boleh menyebabkan baris tambahan dicetak di antara komit, mengikut urutan
untuk sejarah graf dilukis dengan betul. Tidak boleh digabungkan dengan --no-walk.
Ini membolehkan ibu bapa menulis semula, lihat Sejarah pemudahan di bawah.
Ini membayangkan pilihan --topo-order secara lalai, tetapi pilihan --date-order mungkin juga
dinyatakan.
--show-linear-break[= ]
Apabila --graph tidak digunakan, semua cabang sejarah diratakan yang boleh menyukarkannya
lihat bahawa dua komit berturut-turut tidak tergolong dalam cabang linear. Pilihan ini
meletakkan penghalang di antara mereka dalam kes itu. Jika dinyatakan, ia adalah
rentetan yang akan ditunjukkan bukannya yang lalai.
Diff Pemformatan
Disenaraikan di bawah ialah pilihan yang mengawal pemformatan output berbeza. Sebahagian daripada mereka adalah
khusus kepada git-rev-list(1), walau bagaimanapun pilihan perbezaan lain boleh diberikan. Lihat git-diff-
fail(1) untuk lebih banyak pilihan.
-c
Dengan pilihan ini, output diff untuk komit gabungan menunjukkan perbezaan daripada setiap satu
ibu bapa kepada hasil gabungan secara serentak dan bukannya menunjukkan perbezaan berpasangan
antara ibu bapa dan hasilnya satu demi satu. Tambahan pula, ia hanya menyenaraikan fail yang
telah diubah suai daripada semua ibu bapa.
--cc
Bendera ini membayangkan pilihan -c dan memampatkan lagi output tampalan dengan mengetepikan
hunks tidak menarik yang kandungannya dalam ibu bapa hanya mempunyai dua varian dan gabungan
keputusan memilih salah satu daripadanya tanpa pengubahsuaian.
-m
Bendera ini menjadikan komitmen gabungan menunjukkan perbezaan penuh seperti komitmen biasa; untuk setiap
induk gabungan, entri log yang berasingan dan perbezaan dijana. Pengecualian adalah itu sahaja
diff terhadap induk pertama ditunjukkan apabila pilihan --first-parent diberikan; dalam itu
kes, output mewakili perubahan yang dibawa oleh gabungan ke dalam semasa itu
cawangan.
-r
Tunjukkan perbezaan rekursif.
-t
Tunjukkan objek pokok dalam output berbeza. Ini membayangkan -r.
PRETTY FORMATS
Jika komit adalah gabungan, dan jika format cantik tidak satu garisan, e-mel or mentah, Sebuah
baris tambahan dimasukkan sebelum Pengarang barisan. Baris ini bermula dengan "Gabung: " dan
sha1s komitmen nenek moyang dicetak, dipisahkan oleh ruang. Perhatikan bahawa yang disenaraikan
commits mungkin tidak semestinya senarai terus ibu bapa komited jika anda mempunyai had
pandangan anda tentang sejarah: contohnya, jika anda hanya berminat dengan perubahan yang berkaitan dengan a
direktori atau fail tertentu.
Terdapat beberapa format terbina dalam, dan anda boleh menentukan format tambahan dengan menetapkan a
cantik. pilihan konfigurasi kepada nama format lain, atau a format: rentetan, sebagai
diterangkan di bawah (lihat git-config(1)). Berikut ialah butiran format terbina dalam:
· satu garisan
Ini direka untuk menjadi padat yang mungkin.
· pendek
komited
Pengarang:
· sederhana
komited
Pengarang:
Tarikh:
· penuh
komited
Pengarang:
komited:
· lebih lengkap
komited
Pengarang:
Tarikh Pengarang:
komited:
Tarikh Komit:
· e-mel
daripada
daripada:
Tarikh:
Subjek: [PATCH]
· mentah
. mentah format menunjukkan keseluruhan komit tepat seperti yang disimpan dalam objek komit.
Terutama sekali, SHA-1 dipaparkan sepenuhnya, tidak kira sama ada --singkatan atau
--no-abbrev digunakan, dan ibu bapa maklumat menunjukkan ibu bapa yang benar melakukan, tanpa
mengambil kira cantuman atau penyederhanaan sejarah. Ambil perhatian bahawa format ini mempengaruhi
cara commit dipaparkan, tetapi bukan cara diff ditunjukkan contohnya dengan git log
--mentah. Untuk mendapatkan nama objek penuh dalam format diff mentah, gunakan --no-abbrev.
· format:
. format: format membolehkan anda menentukan maklumat yang anda ingin tunjukkan.
Ia berfungsi sedikit seperti format printf, dengan pengecualian yang ketara bahawa anda mendapat a
baris baharu dengan %n bukan \n.
Cth, format: "The pengarang of %h adalah %an, %ar%nThe tajuk adalah >>%s<<%n" akan menunjukkan
sesuatu seperti ini:
Pengarang fe6e0ee ialah Junio C Hamano, 23 jam yang lalu
Tajuknya ialah >>t4119: test autocomputing -p untuk input perbezaan tradisional.<
Pemegang tempat ialah:
· %H: melakukan hash
· %h: disingkat commit hash
· %T: cincang pokok
· %t: cincang pokok yang disingkatkan
· %P: cincang ibu bapa
· %p: singkatan cincang induk
· %an: nama pengarang
· %aN: nama pengarang (menghormati .mailmap, lihat git-shortlog(1) atau git-blame(1))
· %ae: e-mel pengarang
· %aE: e-mel pengarang (menghormati .mailmap, lihat git-shortlog(1) atau git-blame(1))
· %ad: tarikh pengarang (format menghormati --date= pilihan)
· %aD: tarikh pengarang, gaya RFC2822
· %ar: tarikh pengarang, saudara
· %at: tarikh pengarang, cap masa UNIX
· %ai: tarikh pengarang, format seperti ISO 8601
· %aI: tarikh pengarang, format ISO 8601 yang ketat
· %cn: nama komited
· %cN: nama committer (menghormati .mailmap, lihat git-shortlog(1) atau git-blame(1))
· %ce: e-mel committer
· %cE: e-mel committer (menghormati .mailmap, lihat git-shortlog(1) atau git-blame(1))
· %cd: tarikh committer (format menghormati --date= pilihan)
· %cD: tarikh komit, gaya RFC2822
· %cr: tarikh komiter, saudara
· %ct: tarikh komit, cap masa UNIX
· %ci: tarikh komit, format seperti ISO 8601
· %cI: tarikh komit, format ISO 8601 yang ketat
· %d: nama ref, seperti pilihan --decorate git-log(1)
· %D: nama rujukan tanpa pembalut " (", ")".
· %e: pengekodan
· %s: subjek
· %f: baris subjek yang disanitasi, sesuai untuk nama fail
· %b: badan
· %B: badan mentah (subjek dan badan yang dibuka)
· %N: membuat nota
· %GG: mesej pengesahan mentah daripada GPG untuk komitmen yang ditandatangani
· %G?: tunjukkan "G" untuk tandatangan Baik, "B" untuk tandatangan Buruk, "U" untuk tandatangan yang baik,
tandatangan tidak dipercayai dan "N" tanpa tandatangan
· %GS: tunjukkan nama penandatangan untuk komit yang ditandatangani
· %GK: tunjukkan kunci yang digunakan untuk menandatangani komit yang ditandatangani
· %gD: pemilih reflog, cth, refs/stash@{1}
· %gd: pemilih reflog dipendekkan, cth, stash@{1}
· %gn: nama identiti reflog
· %gN: nama identiti reflog (menghormati .mailmap, lihat git-shortlog(1) atau git-
menyalahkan(1))
· %ge: e-mel identiti reflog
· %gE: reflog identiti e-mel (menghormati .mailmap, lihat git-shortlog(1) atau git-
menyalahkan(1))
· %gs: subjek reflog
· %Kredit: tukar warna kepada merah
· %Chijau: tukar warna kepada hijau
· %Cbiru: tukar warna kepada biru
· %Creset: set semula warna
· %C(...): spesifikasi warna, seperti yang diterangkan dalam color.branch.* pilihan konfigurasi; menambah
auto, pada mulanya akan mengeluarkan warna hanya apabila warna didayakan untuk output log
(mengikut color.diff, color.ui, atau --color, dan menghormati tetapan auto
bekas jika kita pergi ke terminal). auto sahaja (iaitu %C(auto)) akan dihidupkan
pewarnaan automatik pada ruang letak seterusnya sehingga warna ditukar semula.
· %m: tanda kiri, kanan atau sempadan
· %n: baris baru
· %%: mentah %
· %x00: mencetak bait daripada kod hex
· %w([ [, [, ]]]): pembalut talian suis, seperti pilihan -w bagi git-
shortlog(1).
· %<( [,trunc|ltrunc|mtrunc]): jadikan pemegang tempat seterusnya mengambil sekurang-kurangnya N lajur,
ruang padding di sebelah kanan jika perlu. Secara pilihan, potong pada permulaan
(ltrunc), tengah (mtrunc) atau hujung (trunc) jika output lebih panjang daripada N
lajur. Ambil perhatian bahawa pemangkasan hanya berfungsi dengan betul dengan N >= 2.
· %<|( ): jadikan pemegang tempat seterusnya mengambil sekurang-kurangnya sehingga lajur Nth, padding
ruang di sebelah kanan jika perlu
· %>( ), %>|( ): sama seperti %<( ), %<|( ) masing-masing, tetapi ruang padding
disebelah kiri
· %>>( ), %>>|( ): sama seperti %>( ), %>|( ) masing-masing, kecuali jika
ruang letak seterusnya mengambil lebih banyak ruang daripada yang diberikan dan terdapat ruang di sebelah kirinya,
gunakan ruang tersebut
· %><( ), %><|( ): sama seperti % <( ), %<|( ) masing-masing, tetapi mengalas kedua-duanya
sisi (iaitu teks berpusat)
Nota
Sesetengah pemegang tempat mungkin bergantung pada pilihan lain yang diberikan kepada enjin traversal semakan.
Sebagai contoh, pilihan reflog %g* akan memasukkan rentetan kosong melainkan kami
merentasi masukan reflog (cth, oleh git log -g). Ruang letak %d dan %D akan digunakan
format hiasan "pendek" jika --decorate belum disediakan pada arahan
line.
Jika anda menambah + (tanda tambah) selepas % daripada pemegang tempat, suapan baris dimasukkan serta-merta
sebelum pengembangan jika dan hanya jika pemegang tempat mengembang kepada rentetan bukan kosong.
Jika anda menambah - (tanda tolak) selepas % daripada pemegang tempat, suapan baris yang segera mendahului
pengembangan dipadamkan jika dan hanya jika pemegang tempat mengembang kepada rentetan kosong.
Jika anda menambah `` (ruang) selepas % daripada pemegang tempat, ruang dimasukkan serta-merta sebelum itu
pengembangan jika dan hanya jika pemegang tempat mengembang kepada rentetan bukan kosong.
· tformat:
. tformat: format berfungsi sama seperti format:, kecuali ia menyediakan "terminator"
semantik bukannya semantik "pemisah". Dalam erti kata lain, setiap komit mempunyai
aksara penamat mesej (biasanya baris baharu) dilampirkan, bukannya pemisah
diletakkan di antara entri. Ini bermakna bahawa entri akhir format satu baris akan
ditamatkan dengan betul dengan baris baharu, sama seperti format "satu talian". Untuk
contoh:
$ git log -2 --pretty=format:%h 4da45bef \
| perl -pe '$_ .= " -- TIADA TALIAN BARU\n" melainkan /\n/'
4da45be
7134973 -- TIADA TALIAN BARU
$ git log -2 --pretty=tformat:%h 4da45bef \
| perl -pe '$_ .= " -- TIADA TALIAN BARU\n" melainkan /\n/'
4da45be
7134973
Di samping itu, sebarang rentetan yang tidak dikenali yang mempunyai % di dalamnya ditafsirkan seolah-olah ia mempunyai
tformat: di hadapannya. Sebagai contoh, kedua-dua ini bersamaan:
$ git log -2 --pretty=tformat:%h 4da45bef
$ git log -2 --cantik=%h 4da45bef
SEMUA ORANG BERBEZA PILIHAN
-p, -u, --tampalan
Hasilkan tampalan (lihat bahagian menjana tampalan).
-s, --tiada tampalan
Sekat output diff. Berguna untuk arahan seperti git show yang menunjukkan patch oleh
lalai, atau untuk membatalkan kesan --patch.
-U , --unified=
Hasilkan perbezaan dengan baris konteks bukannya tiga yang biasa. Menyiratkan -p.
--mentah
Untuk setiap komitmen, tunjukkan ringkasan perubahan menggunakan format perbezaan mentah. Lihat "RAW
FORMAT OUTPUT" bahagian git-diff(1). Ini berbeza daripada menunjukkan log itu sendiri
dalam format mentah, yang boleh anda capai dengan --format=raw.
--tampal-dengan-mentah
Sinonim untuk -p --raw.
--yang minimum
Luangkan masa tambahan untuk memastikan perbezaan terkecil yang mungkin dihasilkan.
--sabar
Hasilkan perbezaan menggunakan algoritma "perbezaan kesabaran".
--histogram
Hasilkan perbezaan menggunakan algoritma "histogram diff".
--diff-algorithm={kesabaran|minimal|histogram|myers}
Pilih algoritma berbeza. Varian adalah seperti berikut:
lalai, myers
Algoritma pembezaan tamak asas. Pada masa ini, ini adalah lalai.
yang minimum
Luangkan masa tambahan untuk memastikan perbezaan terkecil yang mungkin dihasilkan.
kesabaran
Gunakan algoritma "perbezaan kesabaran" apabila menghasilkan tampung.
histogram
Algoritma ini memanjangkan algoritma kesabaran untuk "menyokong kejadian biasa yang rendah
unsur".
Sebagai contoh, jika anda mengkonfigurasi pembolehubah diff.algorithm kepada nilai bukan lalai dan
mahu menggunakan yang lalai, maka anda perlu menggunakan pilihan --diff-algorithm=default.
--stat[= [, [, ]]]
Hasilkan diffstat. Secara lalai, seberapa banyak ruang yang diperlukan akan digunakan untuk
bahagian nama fail, dan selebihnya untuk bahagian graf. Lebar maksimum lalai kepada terminal
lebar, atau 80 lajur jika tidak disambungkan ke terminal, dan boleh ditindih oleh .
Lebar bahagian nama fail boleh dihadkan dengan memberikan lebar lain
selepas koma. Lebar bahagian graf boleh dihadkan dengan menggunakan
--stat-graph-width= (menjejaskan semua arahan yang menjana graf statistik) atau oleh
tetapan diff.statGraphWidth= (tidak menjejaskan git format-patch). Dengan memberi a
parameter ketiga , anda boleh mengehadkan output kepada yang pertama baris, diikuti
oleh ... jika ada lagi.
Parameter ini juga boleh ditetapkan secara individu dengan --stat-width= ,
--stat-name-width= dan --stat-count= .
--numstat
Serupa dengan --stat, tetapi menunjukkan bilangan baris yang ditambah dan dipadam dalam tatatanda perpuluhan dan
nama laluan tanpa singkatan, untuk menjadikannya lebih mesra mesin. Untuk fail binari,
mengeluarkan dua - bukannya mengatakan 0 0.
--statut pendek
Keluarkan hanya baris terakhir format --stat yang mengandungi jumlah bilangan yang diubah suai
fail, serta bilangan baris yang ditambah dan dipadam.
--dirstat[= ]
Keluarkan taburan jumlah relatif perubahan untuk setiap sub-direktori. The
tingkah laku --dirstat boleh disesuaikan dengan menghantar senarai dipisahkan koma
parameter. Lalai dikawal oleh pembolehubah konfigurasi diff.dirstat
(Lihat git-config(1)). Parameter berikut tersedia:
perubahan
Kira nombor dirstat dengan mengira baris yang telah dialih keluar daripada
sumber, atau ditambahkan pada destinasi. Ini mengabaikan jumlah kod tulen
pergerakan dalam fail. Dalam erti kata lain, menyusun semula baris dalam fail tidak
dikira sama seperti perubahan lain. Ini ialah tingkah laku lalai apabila tiada parameter
diberikan.
talian
Kira nombor dirstat dengan melakukan analisis perbezaan berasaskan baris biasa, dan
menjumlahkan kiraan baris yang dialih keluar/tambah. (Untuk fail binari, kira ketulan 64-bait
sebaliknya, kerana fail binari tidak mempunyai konsep garisan semula jadi). Ini adalah lebih
mahal --dirstat tingkah laku daripada perubahan tingkah laku, tetapi ia dikira
menyusun semula baris dalam fail sama seperti perubahan lain. Output yang terhasil ialah
konsisten dengan apa yang anda dapat daripada pilihan --*stat yang lain.
fail
Kira nombor dirstat dengan mengira bilangan fail yang diubah. Masing-masing berubah
fail dikira sama dalam analisis dirstat. Ini adalah yang paling murah dari segi pengiraan
tingkah laku --dirstat, kerana ia tidak perlu melihat kandungan fail sama sekali.
kumulatif
Kira perubahan dalam direktori anak untuk direktori induk juga. Perhatikan bahawa
apabila menggunakan kumulatif, jumlah peratusan yang dilaporkan mungkin melebihi 100%. The
tingkah laku lalai (bukan kumulatif) boleh ditentukan dengan bukan kumulatif
parameter.
Parameter integer menentukan peratus potong (3% secara lalai). Direktori
menyumbang kurang daripada peratusan perubahan ini tidak ditunjukkan dalam output.
Contoh: Yang berikut akan mengira fail yang diubah, sambil mengabaikan direktori dengan kurang
daripada 10% daripada jumlah keseluruhan fail yang diubah, dan mengira direktori anak terkumpul
dalam direktori induk: --dirstat=files,10,cumulative.
--ringkasan
Keluarkan ringkasan ringkas maklumat pengepala lanjutan seperti ciptaan, nama semula
dan perubahan mod.
--tampal-dengan-stat
Sinonim untuk -p --stat.
-z
Pisahkan komit dengan NUL dan bukannya dengan baris baharu.
Juga, apabila --raw atau --numstat telah diberikan, jangan gunakan nama laluan dan gunakan NUL sebagai
penamat medan keluaran.
Tanpa pilihan ini, setiap output nama laluan akan mempunyai TAB, LF, petikan berganda dan
aksara sengkang ke belakang digantikan dengan \t, \n, \", dan \\, masing-masing, dan nama laluan
akan disertakan dalam petikan berganda jika mana-mana penggantian tersebut berlaku.
- nama sahaja
Tunjukkan hanya nama fail yang diubah.
--nama-status
Tunjukkan hanya nama dan status fail yang diubah. Lihat perihalan --diff-filter
pilihan tentang maksud huruf status.
--submodul[= ]
Nyatakan cara perbezaan dalam submodul ditunjukkan. Apabila --submodule atau --submodule=log
diberikan, iaitu log format digunakan. Format ini menyenaraikan komitmen dalam julat seperti git-
submodul(1) ringkasan tidak. Meninggalkan pilihan --submodule atau menentukan
--submodule=pendek, menggunakan pendek format. Format ini hanya menunjukkan nama-nama
melakukan pada permulaan dan akhir julat. Boleh diubah suai melalui diff.submodule
pembolehubah konfigurasi.
--warna[= ]
Tunjukkan perbezaan berwarna. --warna (iaitu tanpa =) adalah sama seperti --color=always.
boleh menjadi salah satu daripada sentiasa, tidak pernah, atau auto.
--tiada-warna
Matikan perbezaan berwarna. Ia adalah sama seperti --color=never.
--perbezaan-perkataan[= ]
Tunjukkan perbezaan perkataan, menggunakan untuk mengehadkan perkataan yang diubah. Secara lalai, perkataan adalah
dihadkan oleh ruang putih; lihat --word-diff-regex di bawah. The lalai kepada kosong,
dan mestilah salah satu daripada:
warna
Serlahkan perkataan yang diubah hanya menggunakan warna. Menyiratkan --warna.
kosong
Tunjukkan perkataan sebagai [-removed-] dan {+added+}. Tidak membuat percubaan untuk melarikan diri
pembatas jika ia muncul dalam input, jadi output mungkin samar-samar.
porselin
Gunakan format berasaskan baris khas yang bertujuan untuk penggunaan skrip.
Larian yang ditambah/dialih keluar/tidak diubah dicetak dalam format perbezaan bersatu biasa,
bermula dengan aksara +/-/` ` pada permulaan baris dan memanjang ke
hujung talian. Baris baharu dalam input diwakili oleh tilde ~ pada baris
sendiri.
tiada
Lumpuhkan perkataan diff sekali lagi.
Ambil perhatian bahawa walaupun nama mod pertama, warna digunakan untuk menyerlahkan perubahan
bahagian dalam semua mod jika didayakan.
--word-diff-regex=
guna untuk memutuskan apa itu perkataan, bukannya mempertimbangkan larian bukan ruang putih kepada
menjadi satu perkataan. Juga membayangkan --word-diff melainkan ia telah didayakan.
Setiap perlawanan tidak bertindih dianggap sebagai perkataan. Apa-apa sahaja antara
padanan ini dianggap ruang kosong dan diabaikan(!) untuk tujuan mencari
perbezaan. Anda mungkin mahu menambahkan |[^[:space:]] pada ungkapan biasa anda untuk dibuat
pastikan ia sepadan dengan semua aksara bukan ruang putih. Padanan yang mengandungi baris baharu ialah
dipotong secara senyap(!) pada baris baharu.
Contohnya, --word-diff-regex=. akan menganggap setiap watak sebagai perkataan dan,
sepadan, tunjukkan perbezaan watak demi watak.
Regex juga boleh ditetapkan melalui pemacu berbeza atau pilihan konfigurasi, lihat
gitattribut(1) atau git-config(1). Memberinya secara eksplisit mengatasi mana-mana pemacu perbezaan atau
tetapan konfigurasi. Pemacu berbeza mengatasi tetapan konfigurasi.
--warna-perkataan[= ]
Bersamaan dengan --word-diff=color plus (jika regex ditentukan)
--word-diff-regex= .
--tiada-nama
Matikan pengesanan nama semula, walaupun apabila fail konfigurasi memberikan lalai untuk dilakukan
Sun
--semak
Beri amaran jika perubahan memperkenalkan ralat ruang putih. Apa yang dianggap ralat ruang putih ialah
dikawal oleh konfigurasi teras.ruang putih. Secara lalai, mengekori ruang putih
(termasuk garisan yang hanya terdiri daripada ruang putih) dan watak ruang iaitu
serta-merta diikuti dengan aksara tab di dalam inden awal baris adalah
dianggap ralat ruang putih. Keluar dengan status bukan sifar jika masalah ditemui. tidak
serasi dengan --exit-code.
--ws-error-highlight=
Serlahkan ralat ruang putih pada baris yang ditentukan oleh dalam warna yang ditentukan oleh
color.diff.whitespace. ialah senarai konteks lama, baharu yang dipisahkan koma. Bila
pilihan ini tidak diberikan, hanya ralat ruang putih dalam baris baharu diserlahkan. Cth
--ws-error-highlight=new,old highlights ralat ruang putih pada kedua-dua dipadamkan dan ditambah
garisan. semua boleh digunakan sebagai singkatan untuk lama, baharu, konteks.
--penuh-indeks
Daripada segelintir aksara pertama, tunjukkan gumpalan pra dan pasca imej penuh
nama objek pada baris "indeks" apabila menjana output format tampung.
--perduaan
Selain --full-index, keluarkan perbezaan binari yang boleh digunakan dengan git-apply.
--singkatan[= ]
Daripada menunjukkan nama objek heksadesimal 40-bait penuh dalam output format mentah-diff
dan baris pengepala pokok berbeza, tunjukkan hanya awalan separa. Ini adalah bebas daripada
--pilihan indeks penuh di atas, yang mengawal format output patch-diff. Bukan lalai
bilangan digit boleh ditentukan dengan --abbrev= .
-B[ ][/ ], --break-rewrites[=[ ][/ ]]
Pecahkan perubahan tulis semula lengkap kepada pasangan padam dan cipta. Ini melayani dua
tujuan:
Ia mempengaruhi cara perubahan yang berjumlah jumlah penulisan semula fail bukan sebagai satu siri
pemadaman dan sisipan bercampur bersama-sama dengan sangat sedikit baris yang kebetulan sepadan
secara tekstual sebagai konteks, tetapi sebagai pemadaman tunggal semua yang lama diikuti dengan a
sisipan tunggal semua yang baharu, dan nombor m mengawal aspek -B ini
pilihan (lalai kepada 60%). -B/70% menyatakan bahawa kurang daripada 30% daripada yang asal sepatutnya
kekal dalam keputusan untuk Git menganggapnya sebagai penulisan semula total (iaitu sebaliknya
tampung yang terhasil akan menjadi satu siri pemadaman dan sisipan bercampur bersama konteks
garisan).
Apabila digunakan dengan -M, fail yang ditulis semula sepenuhnya juga dianggap sebagai sumber a
namakan semula (biasanya -M hanya menganggap fail yang hilang sebagai sumber nama semula),
dan nombor n mengawal aspek pilihan -B ini (lalai kepada 50%). -B20%
menyatakan bahawa perubahan dengan penambahan dan pemadaman berbanding 20% atau lebih daripada
saiz fail layak untuk diambil sebagai sumber yang mungkin untuk menamakan semula kepada
fail lain.
-M[ ], --find-names[= ]
Jika menjana perbezaan, kesan dan laporkan nama semula untuk setiap komit. Untuk fail berikut
merentasi nama semula semasa merentasi sejarah, lihat --ikut. Jika n dinyatakan, ia adalah a
ambang pada indeks persamaan (iaitu jumlah penambahan/pemadaman berbanding dengan
saiz fail). Sebagai contoh, -M90% bermakna Git harus menganggap pasangan padam/tambah sebagai a
namakan semula jika lebih daripada 90% fail tidak berubah. Tanpa tanda %, nombornya ialah
dibaca sebagai pecahan, dengan titik perpuluhan di hadapannya. Iaitu, -M5 menjadi 0.5, dan ialah
oleh itu sama dengan -M50%. Begitu juga, -M05 adalah sama dengan -M5%. Untuk mengehadkan pengesanan kepada
nama yang tepat, gunakan -M100%. Indeks persamaan lalai ialah 50%.
-C[ ], --cari-salinan[= ]
Mengesan salinan serta menamakan semula. Lihat juga --find-copy-harder. Jika n dinyatakan, ia
mempunyai makna yang sama dengan -M .
--cari-salinan-lebih sukar
Atas sebab prestasi, secara lalai, pilihan -C mencari salinan hanya jika fail asal
salinan telah diubah suai dalam set perubahan yang sama. Bendera ini membuat arahan memeriksa
fail yang tidak diubah suai sebagai calon untuk sumber salinan. Ini adalah sangat mahal
operasi untuk projek besar, jadi gunakannya dengan berhati-hati. Memberi lebih daripada satu pilihan -C
mempunyai kesan yang sama.
-D, --tidak boleh balik-padam
Tinggalkan praimej untuk pemadaman, iaitu cetak hanya pengepala tetapi bukan perbezaan antara
preimage dan /dev/null. Tampalan yang terhasil tidak dimaksudkan untuk digunakan dengan tampalan atau
git memohon; ini adalah semata-mata untuk orang yang ingin hanya menumpukan pada menyemak semula
teks selepas perubahan. Di samping itu, output jelas kekurangan maklumat yang mencukupi untuk
gunakan tampalan sedemikian secara terbalik, walaupun secara manual, maka nama pilihan itu.
Apabila digunakan bersama -B, tinggalkan juga praimej dalam bahagian pemadaman a
padam/buat pasangan.
-l
Pilihan -M dan -C memerlukan masa pemprosesan O(n^2) dengan n ialah bilangan
berpotensi menamakan semula/menyalin sasaran. Pilihan ini menghalang pengesanan nama semula/salin daripada dijalankan
jika bilangan sasaran semula/salinan melebihi bilangan yang ditetapkan.
--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]
Pilih hanya fail yang Ditambah (A), Disalin (C), Dipadam (D), Diubahsuai (M), Dinamakan semula
(R), mempunyai jenisnya (iaitu fail biasa, symlink, submodul, ...) ditukar (T), adalah
Tidak Bercantum (U), Tidak Diketahui (X), atau pasangannya Patah (B). Mana-mana kombinasi
daripada aksara penapis (termasuk tiada) boleh digunakan. Apabila * (Semua-atau-tiada) ditambah
kepada gabungan, semua laluan dipilih jika terdapat mana-mana fail yang sepadan dengan yang lain
kriteria dalam perbandingan; jika tiada fail yang sepadan dengan kriteria lain, tiada apa-apa
dipilih.
-S
Cari perbezaan yang mengubah bilangan kejadian rentetan yang ditentukan
(iaitu penambahan/pemadaman) dalam fail. Bertujuan untuk kegunaan skrip.
Ia berguna apabila anda mencari blok kod yang tepat (seperti struct), dan mahu
untuk mengetahui sejarah blok itu sejak ia mula-mula wujud: gunakan ciri tersebut
berulang untuk menyuap blok menarik dalam praimej kembali ke -S, dan teruskan
sehingga anda mendapat versi pertama blok itu.
-G
Cari perbezaan yang teks tampalannya mengandungi baris tambahan/dialih keluar yang sepadan .
Untuk menggambarkan perbezaan antara -S --pickaxe-regex dan -G , pertimbangkan
komit dengan perbezaan berikut dalam fail yang sama:
+ return !regexec(regexp, two->ptr, 1, ®match, 0);
...
- tekan = !regexec(regexp, mf2.ptr, 1, ®match, 0);
Walaupun git log -G"regexec\(regexp" akan menunjukkan komit ini, git log -S"regexec\(regexp"
--pickaxe-regex tidak akan (kerana bilangan kejadian rentetan itu tidak
ubah).
Melihat pickaxe kemasukan di gitdiffcore(7) untuk maklumat lanjut.
-- beliung-semua
Apabila -S atau -G menemui perubahan, tunjukkan semua perubahan dalam set perubahan itu, bukan sahaja
fail yang mengandungi perubahan dalam .
--pickaxe-regex
Rawat diberikan kepada -S sebagai ungkapan biasa POSIX lanjutan untuk dipadankan.
-O
Keluarkan tampalan dalam susunan yang dinyatakan dalam , yang mempunyai satu glob cangkerang
corak setiap baris. Ini mengatasi pembolehubah konfigurasi diff.orderFile (lihat git-
config(1)). Untuk membatalkan diff.orderFile, gunakan -O/dev/null.
-R
Tukar dua input; iaitu, tunjukkan perbezaan daripada fail indeks atau pada cakera kepada pokok
kandungan.
--relatif[= ]
Apabila dijalankan daripada subdirektori projek, ia boleh diberitahu untuk mengecualikan perubahan di luar
direktori dan tunjukkan nama laluan yang berkaitan dengannya dengan pilihan ini. Apabila anda tidak masuk
subdirektori (cth dalam repositori kosong), anda boleh menamakan subdirektori yang hendak dibuat
output relatif kepada dengan memberikan a sebagai hujah.
-a, --teks
Anggap semua fail sebagai teks.
--abaikan-ruang-at-eol
Abaikan perubahan dalam ruang putih di EOL.
-b, --abaikan-perubahan-ruang
Abaikan perubahan dalam jumlah ruang putih. Ini mengabaikan ruang putih di hujung baris dan
menganggap semua jujukan lain bagi satu atau lebih aksara ruang putih adalah setara.
-w, --abaikan-semua-ruang
Abaikan ruang putih apabila membandingkan garisan. Ini mengabaikan perbezaan walaupun satu baris mempunyai
ruang putih di mana baris lain tiada.
--abaikan-garis-kosong
Abaikan perubahan yang semua barisnya kosong.
--inter-hunk-context=
Tunjukkan konteks antara diff hunks, sehingga bilangan baris yang ditentukan, dengan itu
menyatukan hunks yang rapat antara satu sama lain.
-W, --fungsi-konteks
Tunjukkan keseluruhan fungsi sekeliling perubahan.
--ext-diff
Benarkan pembantu perbezaan luaran dilaksanakan. Jika anda menetapkan pemacu perbezaan luaran dengan
gitattribut(5), anda perlu menggunakan pilihan ini dengan git-log(1) dan rakan-rakan.
--tiada-ext-diff
Tidak benarkan pemacu perbezaan luaran.
--textconv, --no-textconv
Benarkan (atau tidak benarkan) penapis penukaran teks luaran dijalankan apabila membandingkan binari
fail. Lihat gitattribut(5) untuk butiran. Kerana penapis textconv biasanya a
penukaran sehala, perbezaan yang terhasil adalah sesuai untuk kegunaan manusia, tetapi tidak boleh
diaplikasikan. Atas sebab ini, penapis textconv didayakan secara lalai hanya untuk git-
diff(1) dan git-log(1), tetapi bukan untuk git-format-patch(1) atau arahan paip berbeza.
--ignore-submodul[= ]
Abaikan perubahan kepada submodul dalam penjanaan perbezaan. boleh sama ada "tiada",
"tidak dijejaki", "kotor" atau "semua", yang merupakan lalai. Menggunakan "tiada" akan mempertimbangkan
submodul diubah suai apabila ia sama ada mengandungi fail yang tidak dijejaki atau diubah suai atau HEADnya
berbeza daripada komit yang direkodkan dalam superprojek dan boleh digunakan untuk mengatasi mana-mana
tetapan daripada mengabaikan pilihan dalam git-config(1) atau gitmodules(5). Apabila "tidak dijejaki" adalah
submodul yang digunakan tidak dianggap kotor apabila ia hanya mengandungi kandungan yang tidak dijejaki (tetapi
mereka masih diimbas untuk kandungan yang diubah suai). Menggunakan "kotor" mengabaikan semua perubahan pada
pokok kerja submodul, hanya perubahan kepada komit yang disimpan dalam projek super
ditunjukkan (ini ialah tingkah laku sehingga 1.7.0). Menggunakan "semua" menyembunyikan semua perubahan kepada
submodul.
--src-prefix=
Tunjukkan awalan sumber yang diberikan bukannya "a/".
--dst-prefix=
Tunjukkan awalan destinasi yang diberikan bukannya "b/".
--tiada-awalan
Jangan tunjukkan sebarang awalan sumber atau destinasi.
Untuk penjelasan lebih terperinci tentang pilihan biasa ini, lihat juga gitdiffcore(7).
MENJANA PAKEJ DENGAN -P
Apabila "git-diff-index", "git-diff-tree", atau "git-diff-files" dijalankan dengan -p pilihan, "git
berbeza" tanpa --mentah pilihan, atau "git log" dengan pilihan "-p", mereka tidak menghasilkan
output yang diterangkan di atas; sebaliknya mereka menghasilkan fail tampalan. Anda boleh menyesuaikan penciptaan
tampung sedemikian melalui pembolehubah persekitaran GIT_EXTERNAL_DIFF dan GIT_DIFF_OPTS.
Apa yang dihasilkan oleh pilihan -p berbeza sedikit daripada format perbezaan tradisional:
1. Ia didahului dengan pengepala "git diff" yang kelihatan seperti ini:
diff --git a/file1 b/file2
Nama fail a/ dan b/ adalah sama melainkan menamakan semula/salinan terlibat. Terutama, walaupun
untuk penciptaan atau pemadaman, /dev/null ialah tidak digunakan sebagai ganti a/ atau b/
nama fail.
Apabila nama semula/salin terlibat, fail1 dan fail2 menunjukkan nama fail sumber fail
namakan semula/salin dan nama fail yang dinamakan semula/salin masing-masing.
2. Ia diikuti oleh satu atau lebih baris pengepala lanjutan:
mod lama
mod baharu
mod fail dipadamkan
mod fail baharu
salinan daripada
Salin ke
menamakan semula daripada
menamakan semula kepada
indeks persamaan
indeks ketidaksamaan
indeks ..
Mod fail dicetak sebagai nombor perlapanan 6 digit termasuk jenis fail dan fail
bit kebenaran.
Nama laluan dalam pengepala lanjutan tidak termasuk awalan a/ dan b/.
Indeks persamaan ialah peratusan baris yang tidak berubah, dan indeks ketidaksamaan
ialah peratusan garisan yang berubah. Ia ialah integer dibundarkan ke bawah, diikuti dengan a
tanda peratus. Oleh itu, nilai indeks persamaan 100% dikhaskan untuk dua fail yang sama,
manakala perbezaan 100% bermakna tiada baris daripada fail lama yang menjadikannya baharu
one.
Baris indeks termasuk nilai semak SHA-1 sebelum dan selepas perubahan. The ialah
disertakan jika mod fail tidak berubah; jika tidak, garisan berasingan menunjukkan yang lama
dan mod baharu.
3. TAB, LF, petikan berganda dan aksara sengkang terbalik dalam nama laluan diwakili sebagai \t, \n,
\" dan \\, masing-masing. Jika terdapat keperluan untuk penggantian sedemikian maka keseluruhannya
nama laluan diletakkan dalam petikan berganda.
4. Semua fail file1 dalam output merujuk kepada fail sebelum komit, dan semua fail2
fail merujuk kepada fail selepas komit. Adalah tidak betul untuk menggunakan setiap perubahan pada setiap perubahan
fail secara berurutan. Sebagai contoh, tampung ini akan menukar a dan b:
perbezaan --git a/ab/b
menamakan semula daripada a
menamakan semula kepada b
perbezaan --git a/bb/a
menamakan semula daripada b
menamakan semula kepada a
GABUNGAN BERBEZA FORMAT
Sebarang arahan penjanaan perbezaan boleh menggunakan pilihan -c atau --cc untuk menghasilkan a digabungkan diff apabila
menunjukkan gabungan. Ini ialah format lalai apabila menunjukkan gabungan dengan git-diff(1) atau git-
Menunjukkan(1). Perhatikan juga bahawa anda boleh memberikan pilihan -m kepada mana-mana arahan ini untuk memaksa
generasi perbezaan dengan ibu bapa individu gabungan.
A digabungkan diff format kelihatan seperti ini:
diff --gabungan huraikan.c
indeks fabadb8,cc95eb0..4866510
--- a/huraikan.c
+++ b/huraikan.c
@@@ -98,20 -98,12 +98,20 @@@
kembali (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;
}
- huraikan kekosongan statik(char *arg)
-static void describe(struct commit *cmit, int last_one)
++huraikan kekosongan statik(char *arg, int last_one)
{
+ char sha1 yang tidak ditandatangani[20];
+ struct commit *cmit;
struct commit_list *senarai;
int statik dimulakan = 0;
struct commit_name *n;
+ if (get_sha1(arg, sha1) < 0)
+ penggunaan(describe_usage);
+ cmit = rujukan_komitmencari(sha1);
+ jika (!cmit)
+ penggunaan(describe_usage);
+
jika (!dimulakan) {
dimulakan = 1;
for_each_ref(get_name);
1. Ia didahului dengan pengepala "git diff", yang kelihatan seperti ini (apabila -c pilihan adalah
digunakan):
diff --fail gabungan
atau seperti ini (bila --cc pilihan digunakan):
diff --cc fail
2. Ia diikuti oleh satu atau lebih baris pengepala lanjutan (contoh ini menunjukkan gabungan dengan
dua ibu bapa):
indeks , ..
mod , ..
mod fail baharu
mod fail dipadamkan ,
Mod , .. baris muncul hanya jika sekurang-kurangnya satu daripada ialah
berbeza daripada yang lain. Pengepala lanjutan dengan maklumat tentang kandungan yang dikesan
pergerakan (menamakan semula dan pengesanan penyalinan) direka bentuk untuk berfungsi dengan perbezaan dua
dan tidak digunakan oleh format diff gabungan.
3. Ia diikuti dengan pengepala dua baris dari fail/ke-fail
--- a/fail
+++ b/fail
Sama seperti pengepala dua baris untuk tradisional bersatu format diff, /dev/null digunakan untuk
isyarat dicipta atau dipadamkan fail.
4. Format pengepala bongkah diubah suai untuk mengelakkan orang ramai menyuapnya secara tidak sengaja
tampalan -p1. Format perbezaan gabungan telah dibuat untuk semakan perubahan komit gabungan, dan
tidak dimaksudkan untuk memohon. Perubahan adalah serupa dengan perubahan dalam lanjutan indeks
kepala:
@@@ @@@
Terdapat (bilangan ibu bapa + 1) @ aksara dalam pengepala bongkah untuk perbezaan gabungan
format.
Tidak seperti tradisional bersatu format diff, yang menunjukkan dua fail A dan B dengan satu fail
lajur yang mempunyai - (tolak — muncul dalam A tetapi dialih keluar dalam B), + (tambah — tiada dalam A tetapi
ditambahkan pada B), atau awalan " " (ruang — tidak berubah), format ini membandingkan dua atau lebih fail
file1, file2,... dengan satu fail X, dan menunjukkan bagaimana X berbeza daripada setiap failN. Satu lajur
untuk setiap failN ditambahkan pada baris keluaran untuk melihat bagaimana garis X berbeza daripada
ia.
A - aksara dalam lajur N bermakna baris muncul dalam failN tetapi ia tidak muncul
dalam hasilnya. A + aksara dalam lajur N bermakna garisan muncul dalam hasil,
dan fileN tidak mempunyai baris itu (dengan kata lain, baris itu telah ditambahkan, dari titik
pandangan ibu bapa itu).
Dalam contoh output di atas, tandatangan fungsi telah ditukar daripada kedua-dua fail (oleh itu dua
- penyingkiran daripada kedua-dua fail1 dan fail2, ditambah ++ bermaksud satu baris yang ditambahkan tidak
muncul sama ada dalam fail1 atau fail2). Juga lapan baris lain adalah sama dari file1 tetapi lakukan
tidak muncul dalam file2 (oleh itu diawali dengan +).
Apabila ditunjukkan oleh git diff-tree -c, ia membandingkan ibu bapa komit gabungan dengan gabungan
hasil (iaitu file1..fileN ialah ibu bapa). Apabila ditunjukkan oleh git diff-files -c, ia membandingkan
kedua-dua ibu bapa yang tidak dapat diselesaikan menggabungkan dengan fail pokok yang berfungsi (iaitu fail1 ialah peringkat 2 aka
"versi kami", fail2 ialah peringkat 3 aka "versi mereka").
CONTOH
git log --no-merges
Tunjukkan keseluruhan sejarah komit, tetapi langkau sebarang cantuman
git log v2.6.12.. include/scsi drivers/scsi
Tunjukkan semua komitmen sejak versi v2.6.12 yang menukar mana-mana fail dalam include/scsi or
pemacu/subdirektori scsi
git log --since="2 minggu lalu" -- gitk
Tunjukkan perubahan dalam dua minggu terakhir pada fail gitk. "--" adalah perlu untuk
mengelakkan kekeliruan dengan cawangan bernama gitk
git log --name-status release..test
Tunjukkan komit yang berada dalam cawangan "ujian" tetapi belum lagi dalam cawangan "pelepasan",
bersama-sama dengan senarai laluan yang setiap komit mengubah suai.
git log --follow builtin/rev-list.c
Menunjukkan komitmen yang menukar builtin/rev-list.c, termasuk yang melakukan itu
berlaku sebelum fail diberi nama sekarang.
git log --branches --not --remotes=origin
Menunjukkan semua komitmen yang ada dalam mana-mana cawangan tempatan tetapi tidak dalam mana-mana penjejakan jauh
cawangan untuk asal (apa yang anda ada asal usul itu tidak).
git log master --not --remotes=*/master
Menunjukkan semua komitmen yang ada dalam induk tempatan tetapi tidak dalam mana-mana induk repositori jauh
cawangan.
git log -p -m --induk-pertama
Menunjukkan sejarah termasuk perbezaan perubahan, tetapi hanya dari perspektif "cawangan utama",
melangkau komitmen yang datang daripada cawangan yang digabungkan, dan menunjukkan perbezaan penuh perubahan
diperkenalkan oleh gabungan. Ini masuk akal hanya apabila mengikut dasar ketat tentang
menggabungkan semua cabang topik apabila kekal pada satu cawangan integrasi.
git log -L '/int main/',/^}/:main.c
Menunjukkan bagaimana fungsi main() dalam fail main.c berkembang dari semasa ke semasa.
git log -3
Hadkan bilangan komitmen untuk ditunjukkan kepada 3.
PERBINCANGAN
Git adalah sedikit sebanyak pengekodan aksara agnostik.
· Kandungan objek gumpalan adalah urutan bait yang tidak ditafsirkan. Tidak ada
terjemahan pengekodan pada peringkat teras.
· Nama laluan dikodkan dalam bentuk normalisasi UTF-8 C. Ini terpakai kepada objek pokok,
fail indeks, nama ref, serta nama laluan dalam argumen baris arahan,
pembolehubah persekitaran dan fail konfigurasi (.git/config (lihat git-config(1)), gitignore(5),
gitattribut(5) dan gitmodules(5)).
Ambil perhatian bahawa Git pada peringkat teras menganggap nama laluan hanya sebagai jujukan bukan NUL
bait, tiada penukaran pengekodan nama laluan (kecuali pada Mac dan Windows).
Oleh itu, menggunakan nama laluan bukan ASCII kebanyakannya akan berfungsi walaupun pada platform dan fail
sistem yang menggunakan pengekodan ASCII lanjutan warisan. Walau bagaimanapun, repositori dibuat pada
sistem sedemikian tidak akan berfungsi dengan betul pada sistem berasaskan UTF-8 (cth. Linux, Mac, Windows)
dan begitu juga sebaliknya. Selain itu, banyak alatan berasaskan Git hanya menganggap nama laluan adalah
UTF-8 dan akan gagal memaparkan pengekodan lain dengan betul.
· Mesej log komit biasanya dikodkan dalam UTF-8, tetapi pengekodan ASCII lanjutan lain
turut disokong. Ini termasuk ISO-8859-x, CP125x dan banyak lagi, tetapi tidak
Pengekodan berbilang bait UTF-16/32, EBCDIC dan CJK (GBK, Shift-JIS, Big5, EUC-x, CP9xx
dll).
Walaupun kami menggalakkan bahawa mesej log komit dikodkan dalam UTF-8, kedua-dua teras dan
Git Porcelain direka untuk tidak memaksa UTF-8 pada projek. Jika semua peserta a
projek tertentu mendapati ia lebih mudah untuk menggunakan pengekodan warisan, Git tidak melarang
ia. Walau bagaimanapun, terdapat beberapa perkara yang perlu diingat.
1. pergi melakukan and pergi commit-tree mengeluarkan amaran jika mesej log komit diberikan kepadanya
tidak kelihatan seperti rentetan UTF-8 yang sah, melainkan anda secara eksplisit mengatakan projek anda menggunakan a
pengekodan warisan. Cara untuk mengatakan ini adalah dengan mempunyai i18n.commitencoding dalam .git/config
fail, seperti ini:
[i18n]
commitencoding = ISO-8859-1
Komit objek yang dibuat dengan tetapan di atas merekodkan nilai i18n.commitencoding
dalam pengepala pengekodannya. Ini untuk membantu orang lain yang melihat mereka nanti. Kekurangan
pengepala ini membayangkan bahawa mesej log komit dikodkan dalam UTF-8.
2. pergi log, pergi Menunjukkan, pergi menyalahkan dan rakan melihat pengepala pengekodan komit
objek, dan cuba kod semula mesej log ke dalam UTF-8 melainkan dinyatakan sebaliknya. awak
boleh menentukan pengekodan output yang dikehendaki dengan i18n.logoutputencoding dalam .git/config
fail, seperti ini:
[i18n]
pengekodan logoutputen = ISO-8859-1
Jika anda tidak mempunyai pembolehubah konfigurasi ini, nilai i18n.commitencoding ialah
digunakan sebagai gantinya.
Ambil perhatian bahawa kami sengaja memilih untuk tidak mengekod semula mesej log komit apabila komit adalah
dibuat untuk memaksa UTF-8 pada tahap objek komit, kerana pengekodan semula kepada UTF-8 tidak
semestinya operasi boleh balik.
CONFIGURATION
Lihat git-config(1) untuk pembolehubah teras dan git-diff(1) untuk tetapan yang berkaitan dengan perbezaan
Generasi.
format.cantik
Lalai untuk pilihan --format. (Lihat Pretty Format di atas.) Lalai kepada sederhana.
i18n.logOutputEncoding
Pengekodan untuk digunakan semasa memaparkan log. (Lihat Perbincangan di atas.) Lalai kepada nilai
i18n.commitEncoding jika ditetapkan, dan UTF-8 sebaliknya.
log.tarikh
Format lalai untuk tarikh yang boleh dibaca manusia. (Bandingkan pilihan --date.) Lalai kepada
"lalai", yang bermaksud menulis tarikh seperti Sabtu 8 Mei 19:35:34 2010 -0500.
log.ikut
Jika benar, log git akan bertindak seolah-olah pilihan --follow digunakan apabila satu ialah
diberi. Ini mempunyai had yang sama seperti --follow, iaitu ia tidak boleh digunakan untuk mengikuti
berbilang fail dan tidak berfungsi dengan baik pada sejarah bukan linear.
log.showRoot
Jika palsu, log git dan arahan yang berkaitan tidak akan menganggap komit awal sebagai besar
peristiwa penciptaan. Sebarang root commit dalam git log -p output akan ditunjukkan tanpa perbezaan
dilampirkan. Lalai adalah benar.
peta mel.*
Lihat git-shortlog(1).
nota.displayRef
Rujukan yang mana, sebagai tambahan kepada lalai yang ditetapkan oleh core.notesRef atau GIT_NOTES_REF, untuk membaca
nota dari semasa menunjukkan mesej komit dengan keluarga log arahan. Lihat git-
nota(1).
Mungkin nama ref yang tidak disingkat atau glob dan mungkin dinyatakan beberapa kali. A
amaran akan dikeluarkan untuk rujukan yang tidak wujud, tetapi glob yang tidak sepadan dengan mana-mana
refs diabaikan secara senyap.
Tetapan ini boleh dilumpuhkan dengan pilihan --no-notes, ditindih oleh
GIT_NOTES_DISPLAY_REF pembolehubah persekitaran, dan ditindih oleh --notes=
pilihan.
GIT
Sebahagian daripada pergi(1) suite
Gunakan git-log dalam talian menggunakan perkhidmatan onworks.net