İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

git-blame - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında git-blame çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen git-suçlama komutudur.

Program:

ADI


git-blame - Bir dosyanın her satırını en son hangi revizyonun ve yazarın değiştirdiğini gösterir

SİNOPSİS


git suçlama [-c] [-b] [-l] [--kök] [-t] [-f] [-n] [-s] [-e] [-p] [-w] [--artımlı]
[-L ] [-S ] [-M] [-C] [-C] [-C] [--den beri= ]
[--kısaltma= ] [ | --içerikler | --ters ] [--]

TANIM


Verilen dosyadaki her satıra, en son revizyondan alınan bilgilerle açıklama ekler.
çizgiyi değiştirdi. İsteğe bağlı olarak, verilen revizyondan açıklama eklemeye başlayın.

Bir veya daha fazla kez belirtildiğinde -L, açıklamayı istenen satırlarla sınırlar.

Satırların kökeni, tüm dosya yeniden adlandırmalarında otomatik olarak izlenir (şu anda orada
yeniden adlandırmayı kapatma seçeneği yoktur). Bir dosyadan taşınan satırları takip etmek için
veya başka bir dosyadan vb. kopyalanıp yapıştırılan satırları takip etmek için bkz.
-C ve -M seçenekleri.

Rapor, silinen veya değiştirilen satırlar hakkında size hiçbir şey söylemez; sen
gibi bir araç kullanmanız gerekir. git fark veya kısaca belirtilen "kazma" arayüzü
aşağıdaki paragraf.

Git, dosya açıklamasını desteklemenin yanı sıra, geliştirme geçmişini aramayı da destekler.
bir değişiklikte bir kod parçacığı oluştuğunda. Bu, bir kodun ne zaman
snippet bir dosyaya eklendi, dosyalar arasında taşındı veya kopyalandı ve sonunda silindi veya
değiştirildi. Farkta bir metin dizesi arayarak çalışır. Küçük bir örnek
suçlama_kullanımı için arama yapan kazma arabirimi:

$ git log --pretty=oneline -S'blame_usage'
5040f17eba15504bad66b14a645bddd9b015ebb7 blame -S <ancestry-file>
ea4c7f9bf69e781dd0cd88d2bccb2bf5cc15c9a7 git-blame: Make the output

SEÇENEKLER


-b
Sınır taahhütleri için boş SHA-1 göster. Bu ayrıca üzerinden kontrol edilebilir.
suçlama.blankboundary yapılandırma seçeneği.

--kök
Kök taahhütlerini sınır olarak kabul etmeyin. Bu ayrıca üzerinden kontrol edilebilir.
suçlama.showRoot yapılandırma seçeneği.

--göster-istatistikleri
Suçlama çıktısının sonuna ek istatistikler ekleyin.

-L , , -L :
Yalnızca verilen satır aralığına açıklama ekleyin. Birden çok kez belirtilebilir. örtüşen
aralıklara izin verilir.

ve isteğe bağlıdır. “-L ” veya “-L ”den başlayarak ile
dosyanın sonu. “-L, ” dosyanın başlangıcından .

ve şu formlardan birini alabilir:

· sayı

Eğer veya bir sayıdır, mutlak bir satır numarası belirtir (satır sayısı
1).

· /normal ifade/

Bu form, verilen POSIX normal ifadesiyle eşleşen ilk satırı kullanacaktır. Eğer bir
normal ifade, varsa, önceki -L aralığının sonundan itibaren arama yapar, aksi takdirde
dosyanın başlangıcından itibaren. Eğer “^/regex/” ise, başlangıcından itibaren arama yapacaktır.
dosya. Eğer bir normal ifadedir, tarafından verilen satırdan başlayarak arama yapacaktır. .

· +ofset veya -offset

Bu sadece için geçerlidir ve öncesinde veya sonrasında bir dizi satır belirleyecektir.
verdiği hat .

Eğer ": ” yerine verilir. ve , düzenli bir ifadedir
eşleşen ilk işlev adı satırından aralığı belirtir , kadar
sonraki işlev adı satırı. ": ”, eğer varsa, önceki -L aralığının sonundan itibaren arama yapar
herhangi biri, aksi takdirde dosyanın başlangıcından itibaren. "^: ” dosyanın başlangıcından itibaren arama yapar.

-l
Uzun devri göster (Varsayılan: kapalı).

-t
Ham zaman damgasını göster (Varsayılan: kapalı).

-S
Çağırmak yerine revs dosyasındaki revizyonları kullanın git-rev-listesi(1).

--ters
Geçmişi geriye değil ileriye doğru yürü. Hangi revizyonu göstermek yerine
satır belirdi, bu, bir satırın var olduğu son revizyonu gösterir. Bu gerektirir
START..END gibi, START'ta suçlama yolunun bulunduğu bir dizi revizyon.

-p, --porselen
Makine tüketimi için tasarlanmış bir biçimde gösterin.

--line-porselen
Porselen biçimini gösterin, ancak yalnızca
ilk kez bir taahhüt referans alınır. --porselen anlamına gelir.

--artımlı
Sonucu, makine tüketimi için tasarlanmış bir biçimde aşamalı olarak gösterin.

--kodlama=
Yazar adlarının çıktısını almak ve özetleri işlemek için kullanılan kodlamayı belirtir. ayarlamak
hiçbiri, çıktıyı dönüştürülmemiş verileri suçlamaz. Daha fazla bilgi için tartışmaya bakın
kodlama hakkında git günlüğü(1) kılavuz sayfası.

--içerikler
Ne zaman belirtilmemişse, komut, geriye doğru başlayarak değişikliklere açıklama ekler.
çalışan ağaç kopyası. Bu bayrak, komutun çalışan ağaç kopyası gibi davranmasını sağlar.
adlandırılmış dosyanın içeriğine sahiptir (belirtin - komutun
standart giriş).

--tarih
Tarihleri ​​çıkarmak için kullanılan formatı belirtir. --date sağlanmazsa, değeri
suçlama.date yapılandırma değişkeni kullanılır. suçlama.date yapılandırma değişkeni de ayarlanmamışsa,
iso formatı kullanılır. Desteklenen değerler için --date seçeneğinin tartışmasına bakın
at git günlüğü(1).

-M| |
Bir dosya içinde taşınan veya kopyalanan satırları tespit edin. Bir taahhüt, bir bloğu hareket ettirdiğinde veya kopyaladığında
satırlar (örneğin, orijinal dosyada A ve ardından B bulunur ve taahhüt, onu B olarak değiştirir ve
sonra A), geleneksel suçlama algoritma hareketin sadece yarısını fark eder ve
tipik olarak yukarı taşınan satırları (yani B) ebeveyne suçlar ve suçu atar
Aşağıya taşınan satırlara (yani A) çocuk taahhüt eder. Bu seçenekle hem
satır grupları, fazladan inceleme geçişleri yapılarak ebeveyne yüklenir.

isteğe bağlıdır ancak alfasayısal karakter sayısının alt sınırıdır
Git'in bu satırları ilişkilendirmesi için bir dosya içinde hareket ettiğini/kopyaladığını algılaması gerekir.
ebeveyn taahhüdü ile. Varsayılan değer 20'dir.

-C| |
-M'ye ek olarak, içinde değiştirilen diğer dosyalardan taşınan veya kopyalanan satırları tespit edin.
aynı taahhüt. Bu, programınızı yeniden düzenlediğinizde ve kodu hareket ettirdiğinizde kullanışlıdır.
dosyalar arasında. Bu seçenek iki kez verildiğinde, komut ayrıca şunları arar:
dosyayı oluşturan taahhütteki diğer dosyalardan kopyalar. Bu seçenek verildiğinde
üç kez, komut ayrıca herhangi bir taahhütte diğer dosyalardan kopyaları arar.

isteğe bağlıdır ancak alfasayısal karakter sayısının alt sınırıdır
Git'in bu satırları ilişkilendirmesi için dosyalar arasında taşıma/kopyalama olarak algılaması gerekir.
ebeveyn taahhüdü ile. Ve varsayılan değer 40'tır. Birden fazla -C varsa
verilen seçenekler, son -C argümanı geçerli olacaktır.

-h
Yardım mesajını göster.

-c
ile aynı çıkış modunu kullanın. git-açıklama(1) (Varsayılan: kapalı).

--score-debug
Dosyalar arasındaki çizgilerin hareketiyle ilgili hata ayıklama bilgilerini dahil edin (bkz. -C)
ve satırlar bir dosya içinde taşınır (bkz. -M). Listelenen ilk sayı puandır. Bu
arasında veya içinde taşındığı algılanan alfasayısal karakterlerin sayısı
Dosyalar. Bunun için belirli bir eşiğin üzerinde olması gerekir. git suçlama bu satırları dikkate almak
taşınmış olması gereken kod.

-f, --göster-isim
Orijinal taahhütte dosya adını gösterin. Varsayılan olarak dosya adı, varsa gösterilir.
yeniden adlandırma algılaması nedeniyle farklı bir ada sahip bir dosyadan gelen herhangi bir satır.

-n, --göster-sayı
Orijinal taahhütte satır numarasını göster (Varsayılan: kapalı).

-s
Çıktıdan yazar adını ve zaman damgasını gizleyin.

-e, --göster-e-posta
Yazar adı yerine yazar e-postasını göster (Varsayılan: kapalı). Bu da olabilir
suçlama.showEmail yapılandırma seçeneği ile kontrol edilir.

-w
Nerede olduğunu bulmak için ebeveynin sürümüyle çocuğun sürümünü karşılaştırırken boşlukları yoksay
hatlar geldi.

--kısaltma=
Kısaltılmış nesne adı olarak varsayılan 7+1 onaltılık basamakları kullanmak yerine,
kullanmak +1 basamak. Sınır taahhüdünü işaretlemek için bir şapka için 1 sütununun kullanıldığını unutmayın.

L' PORSELEN FORMAT


Bu formatta, her satır bir başlıktan sonra çıkar; en az başlıkta
sahip olan ilk satır:

· Hattın atfedildiği taahhüdün 40 baytlık SHA-1'i;

· orijinal dosyadaki satırın satır numarası;

· son dosyadaki satırın satır numarası;

· öncekinden farklı bir taahhütten bir grup satır başlatan bir satırda,
Bu gruptaki satır sayısı. Sonraki satırlarda bu alan yoktur.

Bu başlık satırını, her bir taahhüt için en az bir kez aşağıdaki bilgiler takip eder:

· yazar adı ("yazar"), e-posta ("yazar-postası"), saat ("yazar-zamanı") ve saat dilimi
("yazar-tz"); aynı şekilde taahhütçü için.

· satırın ilişkilendirildiği taahhütteki dosya adı.

· taahhüt günlüğü mesajının ilk satırı ("özet").

Asıl satırın içeriği, bir SEKME ile önek olarak yukarıdaki başlıktan sonra verilir. Bu
daha sonra daha fazla başlık öğesi eklemeye izin vermektir.

Porselen formatı genellikle daha önce görülen kesinleştirme bilgilerini gizler.
Örneğin, aynı taahhütle suçlanan iki satırın her ikisi de gösterilecektir, ancak
bu taahhüdün ayrıntıları yalnızca bir kez gösterilecektir. Bu daha verimlidir, ancak gerektirebilir
daha fazla durum okuyucu tarafından tutulur. --line-porcelain seçeneği tam çıktı almak için kullanılabilir.
her satır için aşağıdaki gibi daha basit (ancak daha az verimli) kullanıma izin veren bilgileri taahhüt edin:

# her yazara atfedilen satır sayısını sayın
git suçlama --line-porselen dosya |
sed -n 's/^yazar //p' |
sıralama | tek -c | sırala -rn

BELİRTİLEN ARALIKLAR


aksine git suçlama ve git açıklama git'in eski sürümlerinde, ek açıklamanın kapsamı
hem satır aralıkları hem de revizyon aralıkları ile sınırlandırılabilir. sınırlayan -L seçeneği
bir dizi satıra açıklama, birden çok kez belirtilebilir.

foo dosyası için 40-60 satırlarının kökenini bulmakla ilgilendiğinizde,
-L seçeneği şöyledir (aynı anlama gelirler - her ikisi de satırdan başlayarak 21 satır ister
40):

git suçlama -L 40,60 foo
git suçlama -L 40,+21 foo

Ayrıca satır aralığını belirtmek için normal bir ifade kullanabilirsiniz:

git suçlama -L '/^sub merhaba {/,/^}$/' foo

bu, açıklamayı merhaba alt yordamının gövdesiyle sınırlar.

v2.6.18 sürümünden daha eski değişikliklerle veya 3'ten daha eski değişikliklerle ilgilenmediğinizde
haftalar, aşağıdakine benzer revizyon aralığı belirteçleri kullanabilirsiniz. git rev listesi:

git suçlama v2.6.18.. -- foo
git suçlama --since=3.hafta -- foo

Açıklamayı sınırlamak için revizyon aralığı belirteçleri kullanıldığında,
aralık sınırından bu yana değişti (ya taahhüt v2.6.18 ya da en son taahhüt
yukarıdaki örnekte 3 haftadan eski) bu aralık sınırı taahhüdü için suçlanıyor.

Özellikle yararlı bir yol, eklenen bir dosyanın kopyala ve yapıştır yöntemiyle oluşturulmuş satırlara sahip olup olmadığını görmektir.
mevcut dosyalardan. Bazen bu, geliştiricinin özensiz davrandığını ve
kodu doğru şekilde yeniden düzenlemeyin. İlk önce dosyayı tanıtan taahhüdü bulabilirsiniz.
ile:

git log --diff-filter=A --pretty=kısa -- foo

ve ardından taahhüt ile ebeveynleri arasındaki değişikliği taahhüt ^! gösterim:

git suçla -C -C -f $bağla^! -- foo

artımlı ÇIKTI


--incremental seçeneği ile çağrıldığında, komut, sonucu oluşturulduğu gibi verir. NS
çıktı genellikle ilk önce daha yeni taahhütlerin dokunduğu satırlar hakkında konuşacaktır (yani
satırlara sıra dışı açıklamalar eklenecektir) ve etkileşimli izleyiciler tarafından kullanılması amaçlanmıştır.

Çıktı formatı Porselen formatına benzer, ancak gerçek çıktıyı içermez.
açıklama eklenmekte olan dosyadan satırlar.

1. Her suçlama girişi her zaman şu satırlarla başlar:

<40 bayt altıgen sha1>

Satır numaraları 1'den sayılır.

2. Akışta bir taahhüt ilk kez göründüğünde, çeşitli başka bilgileri de vardır.
hakkında her satırın başında tek kelimelik bir etiketle basılmıştır.
ekstra taahhüt bilgileri (yazar, e-posta, taahhüt eden, tarihler, özet, vb.).

3. Porselen formatından farklı olarak dosya adı bilgisi her zaman verilir ve sonlandırılır.
giriş:

"dosya adı"

ve bu nedenle bazı satır ve kelime yönelimli ayrıştırıcıları ayrıştırmak gerçekten çok kolaydır.
(çoğu betik dili için oldukça doğal olmalıdır).

not
Ayrıştırma yapan kişiler için: daha sağlam hale getirmek için aradaki satırları yok sayın.
ilk ve sonuncusu (" " ve "dosya adı" satırları) tanımadığınız yerlerde
başındaki etiket sözcükleri (veya o belirli olanı önemseyin)
"genişletilmiş bilgi" satırları. Bu şekilde, eklenmiş bilgi varsa (gibi
taahhüt kodlaması veya genişletilmiş taahhüt yorumu), bir suçlu görüntüleyici umursamaz.

HARİTA YAZARLAR


.mailmap dosyası havuzun en üst düzeyinde veya işaret edilen konumda mevcutsa
mailmap.file veya mailmap.blob yapılandırma seçenekleri ile yazar ve
taahhüt eden adları ve e-posta adreslerini kurallı gerçek adlara ve e-posta adreslerine.

Basit biçimde, dosyadaki her satır, bir nesnenin kurallı gerçek adından oluşur.
yazar, boşluk ve taahhütte kullanılan bir e-posta adresi ( < ve >) haritaya
adına. Örneğin:

Uygun isim[e-posta korumalı]>

Daha karmaşık formlar şunlardır:

<[e-posta korumalı]>[e-posta korumalı]>

bu, mailmap'in bir taahhüdün yalnızca e-posta bölümünü değiştirmesine izin verir ve:

Uygun isim[e-posta korumalı]>[e-posta korumalı]>

bu, mailmap ile eşleşen bir taahhüdün hem adını hem de e-postasını değiştirmesine izin verir.
belirtilen taahhüt e-posta adresi ve:

Uygun isim[e-posta korumalı]> Taahhüt Adı[e-posta korumalı]>

bu, mailmap'in hem adı hem de e-posta adresini değiştirmesine izin verir.
belirtilen taahhüt adı ve e-posta adresi.

Örnek 1: Geçmişiniz, adları görünen Jane ve Joe adlı iki yazarın taahhütlerini içeriyor.
depoda çeşitli şekillerde:

Joe Geliştirici[e-posta korumalı]>
Joe R. Geliştirici[e-posta korumalı]>
Jane Doe[e-posta korumalı]>
Jane Doe
Jane D.

Şimdi, Joe'nun ilk olarak göbek adının kullanılmasını istediğini ve Jane'in aile adını tercih ettiğini varsayalım.
tam olarak yazılmıştır. Uygun bir .mailmap dosyası şöyle görünür:

Jane Doe
Joe R. Geliştirici[e-posta korumalı]>

için bir girişe gerek olmadığına dikkat edin. çünkü gerçek adı
o yazar zaten haklı

Örnek 2: Deponuz aşağıdaki yazarların taahhütlerini içeriyor:

nick1[e-posta korumalı]>
nick2[e-posta korumalı]>
nick2[e-posta korumalı]>
Noel Baba[e-posta korumalı]>
baba[e-posta korumalı]>
CTO[e-posta korumalı]>

O zaman şuna benzeyen bir .mailmap dosyası isteyebilirsiniz:

<[e-posta korumalı]>[e-posta korumalı]>
bazı ahbap[e-posta korumalı]> nick1[e-posta korumalı]>
Diğer Yazar[e-posta korumalı]> nick2[e-posta korumalı]>
Diğer Yazar[e-posta korumalı]>[e-posta korumalı]>
Noel Baba[e-posta korumalı]>[e-posta korumalı]>

karma kullan # kendi satırında veya e-posta adresinden sonra gelen yorumlar için.

onworks.net hizmetlerini kullanarak git-blame'i çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad