Git , dünyadaki geliştiriciler tarafından bir numaralı VCS hizmeti olarak tanımlanan, en yaygın kullanılan dağıtılmış sürüm kontrol sistemlerinden biridir. Yalnızca terminalden çalışır, ancak birkaç ön uç indirilebilir.
Büyük ve küçük projeleri maksimum verimlilik ve hızla idare edebilen ücretsiz ve açık kaynaklı sürüm kontrol sistemi uygulaması. Program, küçük, hızlı ve dağıtılmış olarak kolayca tanımlanabilir.
Komut satırı seçenekleri
Program, başından geçen herkes tarafından kolayca hatırlanabilecek bir avuç komutla birlikte gelir. Tüm işlemler yerel olarak gerçekleştirilir ve Linux çekirdeğinde çalışacak şekilde tasarlanmıştır.
Eklenen komutlar, add, bisect, branch, checkout, clone, commit, diff, fetch, grep, init, günlük, birleştirme, mv, çekme, push, rebase, sıfırlama, rm, gösteri, durum ve etiket. Git --help komutunu bir terminal penceresinden çalıştırarak her komutun ne yaptığını kolayca öğrenebilirsiniz.
Bir bakışta özellikler
Git'i kullanırken, kullanıcılar dosya ekleyebilir, şube veya yolları kontrol edebilir, depoları klonlayabilir, boş Git repolarını oluşturabilir, birden fazla geliştirme geçmişine katılabilir, çalışma ağacının durumunu görüntüleyebilir, değişiklikleri kaydedebilir, ayrıca liste oluşturabilir veya listeler oluşturabilir Dalları sil.
Ayrıca uygulama, kullanıcılara taahhütler ve çalışma ağaçları arasındaki değişiklikleri, bir desenle eşleşen satırları yazdırma, taahhüt günlüklerini görüntüleme, referansları ve nesneleri indirme, dosyaları, sembolik bağları ve dizinleri yeniden adlandırma veya taşıma, uzak referansları güncelleme ve kaldırma işlemleri yapma olanağı tanır Çalışan bir ağacın dosyaları.
Çeşitli grafik ön uçlar var
Yalnızca bir komut satırı yazılımı olsalar bile, git-kola, SmartGit, GitEye, kıkırdama ve gitg gibi çeşitli grafik kullanıcı arabirimleri (GUI'ler) mevcuttur. Proje ucuz yerel dallara, çoklu iş akışlarına ve kullanışlı evreleme alanlarına sahip olarak CVS, Subversion, ClearCase ve Perforce gibi SCM (Yazılım Yapılandırma Yönetimi) yardımcı programlarından daha üst sıralarda yer almaktadır.
Alt çizgi
Özetleme, Git, yıldırım hızlı performansı, öğrenmesi kolay ve çok küçük bir alana sahip ücretsiz bir sürüm kontrol sistemidir.
Yenilikler Bu sürümde, Git ile sürtünmesiz bağlam değiştirme, rol tabanlı kod satırı, özellik tabanlı iş akışı ve tek kullanımlık deneme yapabilirsiniz.
- Tek bir hattın strbuf içine okunması için bir yardımcı fonksiyon yanlışlıkla belirli koşullar altında EOF'de OOM hatasını tetikledi.
- & quot; cc: # cruft & quot ;, & quot; cc: a@dd.re.ss # cruft & quot; 'un yanı sıra; "git gönder-e-postaya" & # 39; römork bölümünde bir karbon kopyasını da göndermesi gerektiğini söylemek için geçerli bir yol.
- Gerilimi & quot; gitk --bisect & quot; son bir güncelleme ile.
- & quot; git commit-tree & lt; dosya "," git commit-tree -F dosyası " dosyanın içeriğini kelimesi kelimesine geçirmemiş ve varsa eksik bir satır doldurmuştur. İkincisi, eski davranışa uyacak şekilde güncellendi.
- "git arşivi", özellikle de pathspec ile birlikte kullanıldığında, Git'in kendisi hiç yapmasa da, çıktısında boş bir dizin depolanır. Bu düzeltildi.
- GCC'den gelen uyarıları da önlemek için hata ayıklama API'sı.
- & quot; git gc & quot; okuma yazma ve bir kilit dosyasına pid / host yazarak aynı anda iki örneği çalıştırmayı dener; okunduğunda düzeltilmiş yanlış bir fscanf () biçimini kullanırdı.
- Test linter öğesi, & quot; echo -e & quot; i beğenmediğimizi öğrendi.
- cmp.std.c nitpick kodlayın.
- & quot; git tanımla - karşılaş & quot; v2.13 serisinde birden fazla desen almayı öğrendi, ancak özellik ilk desenden sonra olan kalıpları göz ardı etti ve hiç çalışmadı. Bu düzeltildi.
- & quot; git cat-file --textconv & quot; son zamanlarda segfaulting'e başladı ve bu düzeltildi.
- "işlev başlığını" algılamak için yerleşik desen, HTML ile eşleşmedi. Sabit olmayan öznitelikleri olmayan öğeler.
- & quot; git mailinfo & quot; eşit işaretten sonraki iki harf onaltılık değilken, basılmış basılabilir kodların kodunun çözülmesinde gevşekti ve üretilen çöp gevşekti. Bu düzeltildi.
- Birleştirmeler için '-X' belgeleri yanıltıcı bir şekilde "-s onlarınkileri" mevcut değil, öyle değil.
- Sistemimizin adını & quot; Git & quot; olarak yaz. istek çekme komut dosyasındaki çıktıda.
- valgrind tarafından tanımlanan bir avuç bellek erişimi sorunu giderildi.
- HPE NonStop'daki ara sıra kırılmaları düzeltmek için akış yukarıdaki gnulib'teki anket öykünmesine 2015 yılında manevi olarak düzeltmeyi destekler.
- & quot; - format = ... & quot; "git-for-each-ref" seçeneği. komutunun (ve arkadaşlarının, yani "git branch / tag" listeleme modu), "% (atom:)" (örneğin, "% (refname:)", "% (body:)", hata üretmek için kullanılır. Bunun yerine, iki nokta üst üste ve onu takip eden boş bir dize yokmuş gibi davranın.
- & quot; color.ui = her zaman & quot; yapılandırmalarında sıhhi tesisat komutlarının "git add -p" tarafından dahili olarak oluşturulan düzeltme eki olarak dikkat etmelerini sağlayan son bir değişiklikle bozuldu. renkliydi (heh) ve kullanılamaz hale getirildi. Bu düzeltildi.
- & quot; git branch -M a b & quot; birden fazla işyeri kullanıldığında, a veya b bıçağıyla tamamen ilişkisiz bir dala yanlış bıçaklanırken. Bu düzeltildi.
- & quot; git hızlı ihracat & quot; -M / -C seçeneği verildiğinde "kopya" Aynı anda değiştirilmiş, yanlış olan bir yol üzerindeki talimat.
- "git hızlı-içe aktarma" kontrol noktası komutu; düzeltilen son kontrol noktasından bu yana herhangi bir nesne oluşturulmadığı sürece en az bir nesne oluşturulmadığı sürece referansları ve işaretleri güncellemeleri temizlemedi.
- TravisCI'yı kullanmaya yönelik komut dosyaları yeniden düzenlendi ve ardından uçları etiketlenmiş bir dala harcama döngüleri önlemek için bir optimizasyon gerçekleştirildi.
- & quot; git getir: & quot; diğer tarafı, Git v2.5'ten beri böyle bir isteği kabul ettiğinde belge tarafında bırakılmış bir nesneye izin verir, ancak belgeler eski halini almıştır.
- Kodu alternatif nesne mağazaları listesini okumak için yapılan 2.11'deki bir gerileme düzeltildi.
2.15.1 sürümünde
Yenilikler :
- Tek bir hattın strbuf içine okunması için bir yardımcı fonksiyon yanlışlıkla belirli koşullar altında EOF'de OOM hatasını tetikledi.
- & quot; cc: # cruft & quot ;, & quot; cc: a@dd.re.ss # cruft & quot; 'un yanı sıra; "git gönder-e-postaya" & # 39; römork bölümünde bir karbon kopyasını da göndermesi gerektiğini söylemek için geçerli bir yol.
- Gerilimi & quot; gitk --bisect & quot; son bir güncelleme ile.
- & quot; git commit-tree & lt; dosya "," git commit-tree -F dosyası " dosyanın içeriğini kelimesi kelimesine geçirmemiş ve varsa eksik bir satır doldurmuştur. İkincisi, eski davranışa uyacak şekilde güncellendi.
- "git arşivi", özellikle de pathspec ile birlikte kullanıldığında, Git'in kendisi hiç yapmasa da, çıktısında boş bir dizin depolanır. Bu düzeltildi.
- GCC'den gelen uyarıları da önlemek için hata ayıklama API'sı.
- & quot; git gc & quot; okuma yazma ve bir kilit dosyasına pid / host yazarak aynı anda iki örneği çalıştırmayı dener; okunduğunda düzeltilmiş yanlış bir fscanf () biçimini kullanırdı.
- Test linter öğesi, & quot; echo -e & quot; i beğenmediğimizi öğrendi.
- cmp.std.c nitpick kodlayın.
- & quot; git tanımla - karşılaş & quot; v2.13 serisinde birden fazla desen almayı öğrendi, ancak özellik ilk desenden sonra olan kalıpları göz ardı etti ve hiç çalışmadı. Bu düzeltildi.
- & quot; git cat-file --textconv & quot; son zamanlarda segfaulting'e başladı ve bu düzeltildi.
- "işlev başlığını" algılamak için yerleşik desen, HTML ile eşleşmedi. Sabit olmayan öznitelikleri olmayan öğeler.
- & quot; git mailinfo & quot; eşit işaretten sonraki iki harf onaltılık değilken, basılmış basılabilir kodların kodunun çözülmesinde gevşekti ve üretilen çöp gevşekti. Bu düzeltildi.
- Birleştirmeler için '-X' belgeleri yanıltıcı bir şekilde "-s onlarınkileri" mevcut değil, öyle değil.
- Sistemimizin adını & quot; Git & quot; olarak yaz. istek çekme komut dosyasındaki çıktıda.
- valgrind tarafından tanımlanan bir avuç bellek erişimi sorunu giderildi.
- HPE NonStop'daki ara sıra kırılmaları düzeltmek için akış yukarıdaki gnulib'teki anket öykünmesine 2015 yılında manevi olarak düzeltmeyi destekler.
- & quot; - format = ... & quot; "git-for-each-ref" seçeneği. komutunun (ve arkadaşlarının, yani "git branch / tag" listeleme modu), "% (atom:)" (örneğin, "% (refname:)", "% (body:)", hata üretmek için kullanılır. Bunun yerine, iki nokta üst üste ve onu takip eden boş bir dize yokmuş gibi davranın.
- & quot; color.ui = her zaman & quot; yapılandırmalarında sıhhi tesisat komutlarının "git add -p" tarafından dahili olarak oluşturulan düzeltme eki olarak dikkat etmelerini sağlayan son bir değişiklikle bozuldu. renkliydi (heh) ve kullanılamaz hale getirildi. Bu düzeltildi.
- & quot; git branch -M a b & quot; birden fazla işyeri kullanıldığında, a veya b bıçağıyla tamamen ilişkisiz bir dala yanlış bıçaklanırken. Bu düzeltildi.
- & quot; git hızlı ihracat & quot; -M / -C seçeneği verildiğinde "kopya" Aynı anda değiştirilmiş, yanlış olan bir yol üzerindeki talimat.
- "git hızlı-içe aktarma" kontrol noktası komutu; düzeltilen son kontrol noktasından bu yana herhangi bir nesne oluşturulmadığı sürece en az bir nesne oluşturulmadığı sürece referansları ve işaretleri güncellemeleri temizlemedi.
- TravisCI'yı kullanmaya yönelik komut dosyaları yeniden düzenlendi ve ardından uçları etiketlenmiş bir dala harcama döngüleri önlemek için bir optimizasyon gerçekleştirildi.
- & quot; git getir: & quot; diğer tarafı, Git v2.5'ten beri böyle bir isteği kabul ettiğinde belge tarafında bırakılmış bir nesneye izin verir, ancak belgeler eski halini almıştır.
- Kodu alternatif nesne mağazaları listesini okumak için yapılan 2.11'deki bir gerileme düzeltildi.
- Tek bir hattın strbuf içine okunması için bir yardımcı fonksiyon yanlışlıkla belirli koşullar altında EOF'de OOM hatasını tetikledi.
- & quot; cc: # cruft & quot ;, & quot; cc: a@dd.re.ss # cruft & quot; 'un yanı sıra; "git gönder-e-postaya" & # 39; römork bölümünde bir karbon kopyasını da göndermesi gerektiğini söylemek için geçerli bir yol.
- Gerilimi & quot; gitk --bisect & quot; son bir güncelleme ile.
- & quot; git commit-tree & lt; dosya "," git commit-tree -F dosyası " dosyanın içeriğini kelimesi kelimesine geçirmemiş ve varsa eksik bir satır doldurmuştur. İkincisi, eski davranışa uyacak şekilde güncellendi.
- "git arşivi", özellikle de pathspec ile birlikte kullanıldığında, Git'in kendisi hiç yapmasa da, çıktısında boş bir dizin depolanır. Bu düzeltildi.
- GCC'den gelen uyarıları da önlemek için hata ayıklama API'sı.
- & quot; git gc & quot; okuma yazma ve bir kilit dosyasına pid / host yazarak aynı anda iki örneği çalıştırmayı dener; okunduğunda düzeltilmiş yanlış bir fscanf () biçimini kullanırdı.
- Test linter öğesi, & quot; echo -e & quot; i beğenmediğimizi öğrendi.
- cmp.std.c nitpick kodlayın.
- & quot; git tanımla - karşılaş & quot; v2.13 serisinde birden fazla desen almayı öğrendi, ancak özellik ilk desenden sonra olan kalıpları göz ardı etti ve hiç çalışmadı. Bu düzeltildi.
- & quot; git cat-file --textconv & quot; son zamanlarda segfaulting'e başladı ve bu düzeltildi.
- "işlev başlığını" algılamak için yerleşik desen, HTML ile eşleşmedi. Sabit olmayan öznitelikleri olmayan öğeler.
- & quot; git mailinfo & quot; eşit işaretten sonraki iki harf onaltılık değilken, basılmış basılabilir kodların kodunun çözülmesinde gevşekti ve üretilen çöp gevşekti. Bu düzeltildi.
- Birleştirmeler için '-X' belgeleri yanıltıcı bir şekilde "-s onlarınkileri" mevcut değil, öyle değil.
- Sistemimizin adını & quot; Git & quot; olarak yaz. istek çekme komut dosyasındaki çıktıda.
- valgrind tarafından tanımlanan bir avuç bellek erişimi sorunu giderildi.
- HPE NonStop'daki ara sıra kırılmaları düzeltmek için akış yukarıdaki gnulib'teki anket öykünmesine 2015 yılında manevi olarak düzeltmeyi destekler.
- & quot; - format = ... & quot; "git-for-each-ref" seçeneği. komutunun (ve arkadaşlarının, yani "git branch / tag" listeleme modu), "% (atom:)" (örneğin, "% (refname:)", "% (body:)", hata üretmek için kullanılır. Bunun yerine, iki nokta üst üste ve onu takip eden boş bir dize yokmuş gibi davranın.
- & quot; color.ui = her zaman & quot; yapılandırmalarında sıhhi tesisat komutlarının "git add -p" tarafından dahili olarak oluşturulan düzeltme eki olarak dikkat etmelerini sağlayan son bir değişiklikle bozuldu. renkliydi (heh) ve kullanılamaz hale getirildi. Bu düzeltildi.
- & quot; git branch -M a b & quot; birden fazla işyeri kullanıldığında, a veya b bıçağıyla tamamen ilişkisiz bir dala yanlış bıçaklanırken. Bu düzeltildi.
- & quot; git hızlı ihracat & quot; -M / -C seçeneği verildiğinde "kopya" Aynı anda değiştirilmiş, yanlış olan bir yol üzerindeki talimat.
- "git hızlı-içe aktarma" kontrol noktası komutu; düzeltilen son kontrol noktasından bu yana herhangi bir nesne oluşturulmadığı sürece en az bir nesne oluşturulmadığı sürece referansları ve işaretleri güncellemeleri temizlemedi.
- TravisCI'yı kullanmaya yönelik komut dosyaları yeniden düzenlendi ve ardından uçları etiketlenmiş bir dala harcama döngüleri önlemek için bir optimizasyon gerçekleştirildi.
- & quot; git getir: & quot; diğer tarafı, Git v2.5'ten beri böyle bir isteği kabul ettiğinde belge tarafında bırakılmış bir nesneye izin verir, ancak belgeler eski halini almıştır.
- Kodu alternatif nesne mağazaları listesini okumak için yapılan 2.11'deki bir gerileme düzeltildi.
- Bu sürümde, sürüm 2.14.1'de & quot;
- * Bir commit nesnesinin içeriğini alan ve konu satırını bulan bir yardımcı işlevi, diğer kodepatlarıyla sıkça yaptığı gibi, önde gelen boş satırları yok saymaz. Eşleşecek önde gelen boş satırları yok say.
- Git, dizindeki içeriğin "git add -N" ile eklenen bir yol için henüz ne olması gerektiğini bilmiyor, bu nedenle "git grep --cached" isabet göstermemelidir (veya isabetsizlikleri -L ile göstermemelidir ), ancak bu mantık "git grep" için geçerli değildir, yani çalışma ağaç dosyalarında arama. Ancak, yanlışlıkla yaptık, bu düzeltildi.
- "git rebase -i --autostash", işlem kesildiğinde otomatik olarak saklı olan değişikliği geri yüklemedi.
- Herhangi bir ileti gövdesi olmayan bir taahhüt için "git commit --amend --allow-empty-message -S", taahhüt nesnesinin başlığının nerede bittiğini yanlış tespit edebilir.
- Son kullanıcı tarafından sabit genişlikte yazılarak tam anlamıyla yazılması beklenen dizgi dizelerine yönelik daha fazla işaretleme güncellemesi.
- Uzun süredir renkli çıktılarımızın, yalnızca son fasıllarda artık geçerli olmadığı fprintf / fputs'u kullandığımızda çalıştıracağını söylediği kod içi bir yorum taşıdık.
- "gc.autoPackLimit" 1 olarak ayarlandığında, yalnızca bir paket olduğunda yeniden paketlemeyi tetiklememelidir, ancak kod zayıf sayılır ve bunu yapar.
- "git am" 'in bir bölümünde, cinsiyete dayalı olmayan ve ayrıca sistemin geri kalan kısmı ile tutarsız olan "bizim" öğelerimizi çağırmamak yerine, "onun" dışından şeyler denilen garip bir yardımcı işlevi vardı. "ours" in aksine, "theirs" adı verilen usuall haricidir.
- Test çerçevesi, beklenen bir sinyalle bir çıkış kodunun öldürülmesini kontrol etmek için yeni bir yardımcı test_match_signal öğrendi.
- "git suçu -M", dosyanın içine taşınan tek bir satırı kaçırdı.
- Paralel alt modül işlemlerine katılan, çok erken okumayı bırakan ve bir köşe kılıfı altında yazmaya çalışırken CPU'yu boşa harcamış yeni başlatılan kod arızalarını düzeltin.
- "git grep -i" nin, ascii olmayan yerel ayarlarda doğru bir şekilde katlanması öğretildi.
- Koşulsuz olarak "mktemp" kullanan bir test, komutun mutlaka her yerde mevcut olmadığını öğrendi.
- "git suçlama dosyası", "dosya" nın tamamlanmamış, eklenmemiş içeriğindeki satırların soyunun incelenmesine izin verdi, ancak "dosya" mevcut taahhütte görünmediğinde reddedildi. "Dosya", varolan bir dosyayı yeniden adlandırarak oluşturulduğunda (ancak değişiklik yapılmadığında), bu kısıtlama gereksiz derecede sıkı olmuştur.
- "dosya" dan sonra sıralanan diğer dizinlerde aynı dizinde yanlış bir ağaç üreten "git add -N dir / dosya ve amp; git yazma ağacı".
- "git fetch http: // user: pass @ host / repo ..." userinfo bölümünü temizledi, ancak "git push" işlemi yapmadı.
- "git diff --ignore-space-at-eol" yanlış davranışa neden olan eski bir hata giderildi.
- "git notaları birleştirme", bir yolun var olup olmadığını görmek için bir koda sahipti (ve yoksa başarısız oluyor) ve daha sonra yazma yolunu açıyordu (olmadığında). O_EXCL ile açık olarak değiştirin.
- "git daemon" için güncelleme, soket seviyesinde KEEPALIVE'ı etkinleştirmeye çalışıyor, ancak inetd üzerinden oluşturulduğunda, standart giriş dosyası tanımlayıcı mutlaka bir sokete bağlı olmayabilir. Setsockopt () işlevinden bir ENOTSOCK hatasını önleyin.
- Son zamanlarda yapılan FreeBSD, / usr / bin / perl'de perl'in kullanılmasını durdurdu; yerleşik olan yolu, çok eski olmayan FreeBSD sürümlerinde varsayılan olarak / usr / local / bin / perl olarak değiştirin.
- .c / .h kaynakları .gitattributes dosyamızda "git diff -W" ve arkadaşlarınızın daha iyi çalışacağı şekilde işaretlenmiştir.
- Mevcut autoconf pthread kütüphanesine bağlanma ihtiyacı için test oluşturdu, pthread kütüphanelerindeki tüm işlevleri kontrol etmedi; En yeni FreeBSD libc'de bazı işlevlere sahiptir, ancak bazıları değil, yanlışlıkla libc ile bağlanmanın yeterli olmadığına inandık.
- Travis CI testlerinde http deemon testlerine izin ver.
- Parse_options_concat () API işlevinin kullanıcıları, desteklenen seçeneklerin kümesine dinamik olarak karar vermek istediklerinde önceden ekstra alan ayırmalı ve OPT_END () ile doldurmalı ve bu da kodu hataya eğilimli ve okunması zorlaştırıyordu. Bu, "yapı seçeneği" dizisinin yeni bir kopyasını tahsis etmek ve iade etmek için API'yi ayarlayarak düzeltildi.
- Kaldırılacak dosya adını oluşturmak için "git rm" dizininde strbuf kullanılması, düzeltilmemiş biraz optimal değildi.
- "git commit --help", "--no-verify" yalnızca ön-taahhüt kancasını atlamakla ilgilidir ve commit-msg kancasını da atladığını söyleyememiştir.
- Git v2.9'daki "git birleştirme" öğesinin varsayılan olarak ilişkili olmayan tarihçesini birleştirmeyi yasakladığı öğretildi, ancak tam olarak "git alt ağaçsı "'nın" --rejoin "modu (contrib / olarak) yapmak istiyor. "git alt ağaçları" nın varsayılanı geçersiz kılmak için "- azami ilgisiz geçmişi" seçeneği kullanması öğretildi.
- "git persistent-https" yardımcı (in contrib /) için yapım prosedürü, Go'nun daha yeni sürümleriyle kurulabilmesi için güncellendi.
- "GID diff $ treeA $ treeB" 'de, gözlemlenen bir kopyayı çalışma ağacında ödünç almak için kullanılan bir iyileştirme var; karşılaştırıldığında blobun aynı olduğu biliniyorsa, bu işlemin açık / mmap'ini beklemek bir dosya, delta şişirilerek uygulanmasıyla birlikte nesne deposundan okumaktan daha hızlıdır. Bununla birlikte, teslim alınan kopyanın optimizasyonun tüm noktalarını bozan (temiz filtre de dahil olmak üzere) dönüşüme / dönüşüme dönüştürme işlemine girmesi gerektiğinde başladı. Dönüştürme gerekli olduğunda optimizasyon devre dışı bırakıldı.
- "grep makinelerine erişmek için kullanılan dahili API'nin iyi tasarlanmamış olması nedeniyle" git -c grep.patternType = genişletilmiş günlük - temel-regexp "yanlış işlendi.
- lstat (2) emülasyonu ile döndürülen değerlerde inum eksikliği nedeniyle Windows portu t4130'daki bazı testlerde başarısız oldu.
- Doğru web çıktısı için "gitweb" çıktısındaki komisyonlar için etiketler / referanslar için gösterilen karakterler artık düzgün bir şekilde çıkartıldı.
- FreeBSD, bir dizininin mtime'sından sorulduğunda yalan söyleyebilir, bu da izlenmeyen önbellek kodunu yavaş bir yola düşürür ve bu da hızlı yolun davranışını doğrulamak istediği için t7063'deki testlerin başarısız olmasına neden olur.
- netmalloc (compat /) kütüphanesinde derleyici uyarılarını silecek.
- Hashmap_entry'nin başka bir şey düşünmeden atılabilmesi için hashmap için API dokümantasyonu belirsizdi. Bunu yapmak güvenli olduğunu belirtin.
- İş makinelerini iç çağrılar yapmaya başlamış olan "git am" nin yakın tarihli yeniden yazımı, istenmeyen bir gerileme yaşadı; pek çok yamayı uygulamak kaç saniye geçmemesine bakılmaksızın sonuçta ortaya çıkan taahhütlerin komisyoncu zaman damgası haline geldi. hepsi aynıydı.
- Bir alt dizinde başlatılan "git difftool ...", giderilen dizine göre yolları yorumlamada başarısız oldu.
- "git daemon", - [init-] zaman aşımı belirtilmediği sürece çalıştırıldığında, sessizce çevrimdışı çalışan bir istemciden gelen bağlantı, kaynakları harcamak suretiyle uzun süre dolaşabilir. Soket seviyesinde KEEPALIVE, OS'un bu gibi başarısız bağlantıları fark etmesine izin vermek için etkinleştirildi.
- `git log 'ailesindeki komutlar% C (auto)' yi özel bir format dizgesinde alıyor. Bu koşulsuz olarak rengi açtı; --no-rengi veya --color = auto ile çıktı bir tty'ye bağlı olmadığında yoksayılıyor; bu formatın gerçekten "otomatik" olarak davranmasını sağlamak için düzeltildi.
- "-n" seçeneği ile yürüme uzunluğu kısıtlı olan "git rev-list --count", bitmap dizinine bakmak için optimize edilen sayımla iyi çalışmadı.
- "Değişiklik dosyanın sonuna bir işlevin tamamını eklediğinde, dosyanın tamamını göstermek için kullanılan" git gösterme -W "(eğrileri köprü işlevinin tamamını kapsayacak şekilde genişleterek" işlev adı "deseniyle eşleşen satırlarla sınırlandırılır); düzeltildi.
- Dökümantasyon kümesi, literal komutların, yapılandırma değişkenlerinin ve ortam değişkenlerinin sürekli olarak sabit genişlikte yazı tipinde ve man sayfalarında koyu renkte olacak şekilde güncellendi.
- 2.3 gün içinde eklenen "git svn propset" alt komutu şimdi belgelenmiştir.
- Belgeler, "GPG" nin tutarlı bir şekilde büyütülmeye çalışılmaktadır; belirli program adına atıfta bulunulduğunda "gpg" kullanılır.
- "git reflog", bir şube oluşturma olayını (başka bir deyişle "doğmamış") gösteren bir girişi gördüğünde durdu ve böylece reflog kesilmiş gibi gösterildi.
- Git-komut istemi scriptleti (contrib /), "set -u" kullanan kullanıcılarla uyumlu değildi, bu da düzeltildi.
- alloca (3) yı yığına sınırsız miktarda veri yerleştirmek için kullanılan bir kod geçidi, bunu önlemek için güncellendi.
- "git güncelleme endeksi - add --chmod = + x dosyası", bir kaçış kapağı olarak kullanılabilir, ancak bunu düzenli olarak kullanmaları gereken kişilere zorlamak için kolay bir şey değildir. Bunun yerine "git add --chmod = + x file" kullanılabilir.
- GNOME anahtarlık için geliştirmeler yapın (katkı / içinde)
- "çalışma durumu", "çalışma dizini" anlamına geldiğinde "çalışma dizini" demekti.
- FreeBSD kabuklarının yanlış çalıştırılmasına ilişkin yorumlar sürüm numarası ile açıklığa kavuşturuldu (9.x ve daha önce bozuk, yeni olanları iyidir.)
- "git cherry-pick A" doğmamış bir dalda çalıştı, ancak "git cherry-pick A..B" yoktu.
- "git farkı" -i / -p ", diff.compactionHeuristic deney düğmesini onurlandırmayı öğrendi, böylece kullanıcı" git diff "çıktısıyla aynı bölme üzerinde çalışabilir.
- "log --graph --format =" "% & gt; | (N)" terminalin sol kenarına göre genişliği belirtir; soyanın sağındaki metin çizmek için alana göre değil -graph bölümü. Ayrıca artık negatif N'yi de kabul eder; bu, sütun sınırının sağ kenarlıkla ilişkili olduğu anlamına gelir.
- "git fetch" dosyasında alınacak referansları tutan parça parçası için sahiplik kuralı, temizlenmişti.
- bisection, suçluyu bulduğu zaman "git bisect", "git diff-tree" için dahili bir çağrı yapar ancak bu çağrı, diff-tree API'sına doğru şekilde geçmek için veri yapısını başlatmaz.
- GPG imza kullandığımız çeşitli verilerin biçimleri (ve bunların geçerliliği nasıl hesaplanır) belgelenmiştir.
- v2.9'da, alt modüllerin üst modüllerine ev sahipliği yapan birçok sunucu örneği için hazırlık yapılmayan alt modüllerin sığlıkla klonlanmasına neden olarak, alt modülleri tekrar tekrar üreten "clone --depth" i koparan istenmeyen gerileme sorununu düzeltin. / li>
- Varsayılan değeri, çift tırnak işareti içine alınmadan ayarlamak için ': $ {VAR = default}' deyimiyle gereksiz harcamaları düzeltin.
- Bazı platforma özgü kod, düzeltilmiş herhangi bir parametre kullanmayan ANSI olmayan katı fonksiyon bildirgelerine sahiptir.
- Yerel saat dilimi simgelerini göstermek için kullanılan dahili kod, 2100 yılı aşan zaman damgalarını işlemek üzere hazırlanmadı ve arayan kişiye sahte bir ofset değeri verdi. Bunun yerine, daha benign görünümlü bir +0000 kullanın ve "git günlüğü" nın bırakılması yerine böyle bir durumda gitmesine izin verin.
- Test paketimizdeki readlink'in (1) dört kez çağrılmasından biri, sınamanın sistemlerde (diğerleri valgrind test çerçevesinde ve t9802'de) yürütülebilecek şekilde yeniden yazıldı.
- t / perf, GNU uzantısıyla / usr / bin / time'a ihtiyaç duyar; bunun çağrılması Darwin'de "gtime" olarak güncellenir.
- Şube öneki nedeniyle yanlışlıkla atlanan yolları bildirmek üzere ayrıntılı modda çalışırken "git p4" ü neden olan bir hata düzeltildi; komut _inside _ olan yollar için "Önek dışında dosya yoksayılıyor" dedi.
- Üst düzey dokümantasyon "git help git", halen kullanılmayan google-code deposunda barındırılan dokümantasyon setini işaret etmeye devam ediyordu. Bunun yerine https://git.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.gith.
- "make rpmbuild" hedefi, girişi kırılmış, git.spec.in, yakınlarda yeniden adlandırılan bir dosya ile eşleşecek şekilde güncellenmedi. Bu düzeltildi.
- Geleneksel olarak, çalışma ağacındaki içerikler üzerinde çalışan komutları deneyen testler, dosya adlarında "işyeri" olarak adlandırıldı, ancak son zamanlarda "git çalışma kitabı" alt komutunun eklendiği ve testleri de benzer şekilde adlandırıldığı testler Onları birbirinden ayırmak zorlaşıyor. Geleneksel testler, onları ayırt etme çabası yerine "iş ağacı" kullanacak şekilde yeniden adlandırıldı.
- Birçok codepath, git_config_set () değerini kontrol etmeyi unutur; bir yapılandırma değişkeni başarısızlığa ayarlandığında devam etmemizi sağlamak için die () işlevi yapılır.
- Dahili eşzamansız sürece yazarken hataların işlenmesi daha sağlam hale getirildi, bu da testlerdeki lekelenmeyi azalttı.
- "git göstermek" HEAD: Foo [BAR] Baz ', argümanı bir devir olarak yorumlamadı, yani bir ağaç nesnesinde yol adıyla joker karakterlerle adlı nesne.
- Bir alt dizinden çalıştırıldığında yanlış işlenmiş işyeri özelliklerinde kullanılan "git rev-parse --git-common-dir".
- Etkileşimli "git am -i" komutunun "v (iew)" alt komutları, komut C'de yeniden yazıldığı zaman 2.6.0 zaman diliminde kırıldı.
- "git birleştirme ağacı", "her iki taraf da" kendi çatışmasını ekledi "her iki tarafın ortak bölümlerini ekleyen ve 3 yönlü birleştirme" mantığına sahip sahte bir ata dosyası oluşturdu; bu, sistemin geri kalanında kullanılan "her zaman olduğu gibi" üç yollu birleştirme ve boş bir blob içeren sahte ortak ata dosyası "yaklaşımını kullanacak şekilde güncellendi.
- Biraz zor olan fill_textconv () API'nin bellek sahibi olma kuralı, biraz daha iyi belgelenmiştir.
- push.default yapılandırması ayarlanmadığında dokümanlar "basit" modun artık "git push" için varsayılan olduğunu açıkça belirtmedi.
- GNU grep'in son sürümleri, girdileri, bazı testlerimizin kullandığı keyfi ikili veri içerdiğinde daha seçicidir. Sorunun üstesinden gelmek için testleri yeniden yazın.
- "git submodule" bir yardımcı işlevi, v2.7.0'dan beri alt komutlarına verilen pathspec bağımsız değişkeniyle eşleşen modülleri listelemek için kullanır (ör. "submodule add").
- Paket idx dosyasında depolanan ofsetleri kullanarak paket verilerini okumak için verilen kod, idx'deki verilerin geçerliliğini daha dikkatli bir şekilde kontrol etmiştir.
- Düşük düzey birleştirme makinesinin, kendileri CRLF satır sonlandırılmış birleştirilmiş içeriğe çakışma belirteçleri eklerken CRLF satır sonlandırma kullanmaları öğretilmiştir.
- "git worktree", son kullanıcıların Git söylemeden bir çalışma alanını farklı yerlere taşımak için ortaya çıkabilecek olası tutarsızlığı otomatik olarak düzeltmeye teşebbüs eden kırık bir koda sahipti (orijinal deponun iş parçacıkları için geripaplayıcılar bulundurması gerekiyor, ancak "mv" bu gerçeği bilen son kullanıcılar tarafından yürütülürse açıkçası onları ayarlamaz), aslında tetiklendiğinde durumu daha da kötüleştirdi.
- İtme zorunlu kılınırsa (veya hızlı iletildiğinde) rapor vermesi "git push --force-with lease" öğrendi.
- Test komut dosyalarımızda kullanılan öykünülen "evet" komutu, kullanılmayan gereksiz çıktılar üretmek için çok fazla zaman harcamamak, Windows'ta boru arabelleğini dolana kadar durdurmayacaklarını test edenlere yardımcı olmak için ayarlandı. SIGPIPE eksikliği.
- "git mergetool" için vimdiff arka uç, sağdan sola okunan kişilerin çoğunluğunun beklentisini karşılayacak sırada arabellekleri sıralamak ve sayısallaştırmak için sıkıştırılmış, daha sonra üstü kapalı ve tampon atamalı 1 2 3 4 "zihinsel" bu siparişe dayalı yerel birleştirme uzaktan birleştirme pencereleri.
- "git clean" belgeleri düzeltildi; .git / modules / *, hiçbir zaman öyle olmadığı iki "-f" vererek kaldırıldığını belirtti.
- Dizinde "add -N" ile anlatılan yollar dizinde henüz değildir, ancak birkaç komut daha önce zaten zararlı bir şekilde davrandıkları gibi davrandılar.
- Minik belgeler ve test güncellemeleri de içerir.
- "configure" komutu, -lpthread'in doğru olarak test edilmediğinden bazı linkerlerin üzülmesine neden oldu.
- Çorap vekiline http / https ile konuşmak için destek ekleyin.
- POSIX olmayan yolları kullanarak $ SHELL değişkenini yeniden yazabilen Windows için taşınabilirlik düzeltmesi.
- Git'in SIGPIPE'den şikayet etmesine değil, sürekli olarak tüm kancaların standart girdilerini yoksaymasına izin veriyoruz.
- Kabuk kodunu contrib komut dosyasında saptamak.
- v2.6.1'deki bir konunun taşınabilirlik düzeltmesini test edin.
- Bazı http yapılandırma değişkenlerinde tilde genişletmesine izin ver.
- Yararlı bir özel durum ver "fark / göster --word-diff-regex =." dokümantasyonda bir örnek olarak.
- filter-branch'da köşe yazısı düzeltildi.
- git-p4'ü müstakil bir kafa üzerinde çalıştırın.
- "--verbose" olmadan "check-ignore" için dokümantasyon açıklaması.
- Kullanıcı "P4 submit" başarısız olursa, kullanıcı P4Submit.applyCommit () dosyasını göndermeyi iptal ettiğinde çalışma ağacı temizlendiğinde, karışıklıkları temizleyin.
- Depoda ilgili .pack dosyası olmayan artık bir .idx dosyasına sahip olmak performansı düşürür; "git gc" onlara budamak öğrendi.
- "dir-diff" özelliği için geçici dizinin çalışma ağacı tarafını hazırlayan kod, sembolik bağların geçici alana kopyalanmasına (veya sembolik olarak bağlanmasına) gerek olmadığını unuttu; çünkü kod zaten özel durumlar ve üzerine yazıyor onlar. Ayrıca sembolik bağ hedefinin nesne adını hesaplamayı denemek yanlıştı; bu bile mevcut olmayabilir veya bir dizin olabilir.
- "git rebase --no-autostash" eksik olduğundan, yapılandırılmış bir rebase.autostash değişkenini komut satırından yenileyebilmenin hiçbir yolu yoktu.
- "git yorum-fragmanları" nın bir Git deposunun dışında çalışmasına izin verin.
- Bir öksüz veya doğmamış bir şubemiz olduğunda bile, kabuk istemleri için doğru "kirli" işaretçi üretin.
- "git durumu" nda yapılan dize eşlemesinde bazı köşe davaları giderildi.
- Apple'ın ortak şifreleme uygulaması olan SHA1_Update (), bir seferde 4GB'dan fazla sürmüyor ve şimdi bunun için bir derleme zamanı çözüm var.
- Deneysel iz sürülmemiş önbellek özelliği, birkaç alt dizin seviyesine sahip yollar söz konusu olduğunda arabesk geldiler.
- Komut dosyası "git am" 'in son sürümleri, "ana" önün yerleşik sürümünde artık mevcut olmayan "git am --skip" kodepatında bir performans gerilemesi var. Gerilemeyi, 2.5.x bakım yolunda ve daha eski sürümlerde görünen son komut dosyası sürümünde düzeltin.
- "git fetch --depth =" ve "git clone --depth =" yeteneği desteklemeyen bir yükleme paketine bile sığ bir aktarma isteği yayınladı.
- "git fsck", reflog'da kaydedilen eksik veya geçersiz nesneleri görmezden gelmek için kullanılır.
- tcsh tamamlaması bir bash scriptleti yazar, ancak bu noclobber ayarlanmış kullanıcılar için başarısız olur.
- Yakın tarihli Mac OS X güncellemeleri, makinenin AC önceliğinde otomatik gc komut dosyasında olduğunu belirlemek için mantığı keser.
- "git biçim-yaması -İngiliz-if-upstream A..B", sınır kayıtları olarak etiketleri beslemekten hoşlanmadı.
- Tipofix'ler, dokümantasyon güncellemeleri ve önemsiz kod da içeriyor
- Temiz-up.
- $ old'dan ulaşılabilen her şeyin mevcut ref'lere zaten bağlı olup olmadığını görmek için "git rev-list --objects $ old --not --all" çok verimsizdi.
- v2.2'de tanıtılan "hash-object --literally", gerçekten uzun bir nesne türü adı almaya hazır değildi.
- Yapacak bir şey olmadığında "git rebase --quiet" oldukça sessiz değildi.
- "log --decorate =" parametre değeri için tamamlama yanlış.
- Böyle bir satıra dokunan bazı "sed" uygulamaları olan platformlarda tamamlanmamış bir satıra biten "filter-branch" bozulmuş tamamlama günlük iletisi. "Sed" i kullanmadan kaçının.
- "git daemon", NO_IPV6 yapılandırmasında (2.4'deki gerileme) kaynaktan inşa başarısız.
- "git stash pop / apply", yalnızca çalışma ağacının temiz olmadığından, ayrıca dizinin temiz olduğundan emin olmayı unuttu. İkincisi önemlidir, çünkü bir saklama uygulaması çakışabilir ve endeks çatışma çözümü için kullanılacaktır.
- $ GIT_EXEC_PATH öğesinin önüne geçtik ve neredeyse sonsuza dek altprogramlar ve kancalar çağırırken $ pATH'a "git" yolu (genellikle "/ usr / bin") yüklenir, ancak desteklemeye çalıştıkları orijinal kullanım durumu yarı -bogus (yani, / opt / foo / git'e kurulum yapın ve $ PATH'da / opt / foo içermeksizin çalıştırın) ve daha önemlisi Git gittikçe yaygınlaştıkça (yani kullanıcıların $ PATH'ında). Kullanıcıların $ PATH'larına "git" in kurulduğu yolu öncelemeyi bırakın; bu komutlar insanların bağımlı olduğu komut arama siparişine müdahale eder (örneğin, / usr / bin'deki Git'e ilgisiz ve istedikleri programları versiyonlarından hoşlanmayabilirler). / usr / local / bin'de farklı olanları geçersiz kılın ve ikinci dizinini $ PATH'larında daha önce yapın).
- Tipofix'ler, dokümantasyon güncellemeleri ve önemsiz kod temizleme işlemleri de içerir.
2.15.0 sürümünde
yenilikler :
2.9.3 sürümünde
yenilikler :
"git paketi nesneleri" ve "git dizini paketi" çoğunlukla bir paket dosyasındaki nesnelerin ofseti hakkında konuşurken off_t ile çalışır, ancak bu değeri tutmak için "imzasız uzun" kullanılan bir avuç yer vardı istemeden kesilene kadar.
Çakışan bir yeniden birleştirme sırasında zaten "rebase --abort" önerdiği gibi, "çakışan birleştirme sırasında" "git durumu" "birleştirme - parçala" önermeyi öğrendi.
2.9.1 sürümünde
yenilikler :
2.9.0 sürümünde
yenilikler :
GIT 2.8.1'deki yenilikler (5 Nisan 2016)
2.8.1 sürümünde
Yenilikler :
2.7.3 sürümünde
yenilikler :
Depo başı yapılandırma dosyasında bir değer ayarlamak için "git config section.var değeri", herhangi bir deponun dışında çalıştırıldığında başarısız oldu, ancak sebebin doğru olduğunu söylemedi.
2.7.2 sürümünde
yenilikler :
2.6.4 sürümünde
yenilikler :
Sürüm 2.5.3'te
Yenilikler :
2.4.6 sürümünde
yenilikler :
2.4.2 sürümünde
yenilikler :
Yorum Bulunamadı