Bir Github projesinin kodunun içindeki bir şeyi şaşırtmanın bir yolu var mı?
Kaynağı çekip yerel olarak şaşırtabilirdim, ancak web arayüzü veya 3. taraf bir alternatif aracılığıyla mümkün olup olmadığını merak ediyordum.
Fikirler?
Bir Github projesinin kodunun içindeki bir şeyi şaşırtmanın bir yolu var mı?
Kaynağı çekip yerel olarak şaşırtabilirdim, ancak web arayüzü veya 3. taraf bir alternatif aracılığıyla mümkün olup olmadığını merak ediyordum.
Fikirler?
Yanıtlar:
Ocak 2013 Güncellemesi: Yepyeni bir arama geldi! , elasticsearch.org'a dayalı :
Yakut repo içinde bir istatistik arayışı olarak ifade edilecek stat repo:ruby/ruby
ve şimdi TM çalışacaktır .
(repo adı büyük / küçük harfe duyarlı değildir: test repo:wordpress/wordpress
ile aynı döndürür test repo:Wordpress/Wordpress
)
Verecek:
Ve takipçilere veya çatallara dayanan başka birçok arama örneğiniz var veya ...
Temmuz 2012 Güncellemesi (Lucene aramasının eski günleri ve bozuk GUI ile birlikte kötü kod dizine ekleme, arşiv için burada tutuldu):
Arama ( SolrQuerySyntax tabanlı ) artık daha izin vericidir ve " " Her Şey " varsayılan arama seçicisini Invalid search query. Try quoting it.
kullanırken korkunç" "gitmiştir :)
(Sanırım , hedeflerinden birinde "tüm GitHub özellikleri için geliştirilmiş arama deneyimlerini hackleme" olan Tim Pease'den daha fazlasını yapabiliriz ve bu Yığın Taşması sorusundan bahsetmiştim şu anda ;))
İşte yakut kod içinde bir grep bir örnek: depoları ve kullanıcıları, ama aynı zamanda ilk etapta aramak istediklerimi arayacak: kod!
İlk sorunun cevabı ve eski sayının gösterimi (Eylül 2012 => Mart 2012)
Sen kullanabilirsiniz gelişmiş arama GitHub formunu :
Code
, Repositories
veya Users
açılır menüden veÖrneğin repo:username/repo-name
, aramayı bir kod havuzuyla sınırlamak için yönergeyi kullanın .
İlk " Advanced Search
" sayfası bölümü içerir:
kod Arama:
Kod arama, GitHub'da herkese açık olarak barındırılan tüm kodları arar. Ayrıca şunlara göre filtreleyebilirsiniz:
- dil
language:
- havuz adı (kullanıcı adı dahil)
repo:
- dosya yolu
path:
Dolayısıyla, " Code
" arama seçiciyi seçerseniz, bir repo içindeki bir metni selamlama sorgunuz işe yarayacaktır:
Ne inanılmaz yararsız GitHub olmasıdır:
Code
") koymayı unutursanız bir hata mesajı alırsınız: Invalid search query. Try quoting it.
" hata mesajı size hiç yardımcı olmaz.
Hiçbir " quoting it
" tutarı sizi bu hatadan kurtarmaz.
bu hata mesajını aldığınızda, arama seçicileri (" Repositories
", " Users
" veya " Language
") ile (sağ) arama filtreleri (burada " repo:
") arasındaki doğru ilişkiyi hatırlatan bölümleri almazsınız .
Yapacağınız başka bir girişim bu ilişkilendirmeleri (seçiciler-filtreler) geri görüntülemez. Yalnızca yukarıda gördüğünüz hata mesajı ...
Bu dizileri geri almanın tek yolu " Advance Search
" simgesini tıklamaktır :
Everything
varsayılan " " arama seçici, aslında tüm arama filtreleri için yanlış seçimdir! " " Dışında ...
(" " arama seçicisinin " " arama filtresiyle gerçekten çalışan her şeyi seçmenize yardımcı olacağını düşünebilirsiniz / varsayabiliriz , ancak hayır. Bu çok kolay olurdu)language:
Everything
repo:
Advance Search
yalnızca " " alanında istediğiniz arama seçiciyi belirtemezsiniz !
( " " "türünün " hemen altındaki başka bir birleşik giriş kutusu language:
olsa da " Search Language
" için yapabilirsiniz Search for
...)
Yani, kullanıcının deneyimi genellikle aşağıdaki gibidir:
Advanced Search
" düğmesini tıklar , filtrelerin bu bölümlerini gözden geçirir ve kullanmak istediğinizi görürsünüz: "repo:
"repo:jruby/jruby stat
", ancak varsayılan Arama seçicisiyle " Everything
" FAIL
! (ve "Seçiciler-Filtreler" ilişkilendirmesini gösteren diziler gitti )Repositories
" ("Dah! Depolarda aramak istiyorum ...") FAIL
!Users
söz konusu seçiciye bakmadan bir sonraki seçiciyi (burada " ") seçersiniz , sadece bir kez daha denemek için ... FAIL
!Özetlemek gerekirse, OP Ben Humphreys olarak "bir Github projesinin kodunda bir şey için grep" yapmak istiyorsanız, " Code
" arama seçiciyi seçmeyi unutmayın ...
repo:"jruby/jruby" stat
repo:"jruby" stat
jruby: stat
hiçbiri çalıştı
Son özel depolarda bu depoda arama yapmak için bir arama alanı vardır.
Şaşırtıcı bir şekilde, bu işlevin halka açık depolar için mevcut olmadığı anlaşılıyor.
GÜNCELLEME
XHR sorunları ve API değişiklikleri nedeniyle aşağıdaki yer işareti kırılması bozuldu.
Neyse ki Github şimdi işi mükemmel bir şekilde yapan " Yepyeni Bir Kod Arama" var.
Bu voodoo'ya göz atın : Github kodu arama kullanıcı metni .
Buradaki talimatları izleyin veya tarayıcınızı komut dosyaları ve uzantılarla doldurmaktan nefret ediyorsanız, kullanıcı kitabının kitap onaylı paketimi kullanın:
javascript:(function(){var s='https://github.com/skratchdot/github-code-search.user.js/raw/master/github-code-search.user.js',t='text/javascript',d=document,n=navigator,e;(e=d.createElement('script')).src=s;e.type=t;d.getElementsByTagName('head')[0].appendChild(e)})();doIt('');void('');
Yukarıdaki kaynağı yeni bir yer işaretinin URL'si olarak kaydedin. Herhangi bir Github deposuna göz atın, yer işaretini tıklayın ve bam : sayfa içi, ajaxified code search .
CAVEAT Github'da arama yapmadan önce bir depoyu dizine eklemeniz gerekir.
Abracadabra ...
Açıklamalı ECMAScript 5.1 spesifikasyon deposundan örnek bir arama:
@ VonC'nin cevabı bazı depolar için çalışıyor olsa da, maalesef şu anda yapamayacağınız birçok depo için. Github onları endekslemiyor (@emddudley tarafından yorumlandığı gibi). Bunu web sitelerinde hiçbir yerde belirtmediler, ancak destek isteyip istemediğinizi size söyleyecekler:
Kimden: Tim Pease
Kod arama dizinimize yeni aktarılan kod eklemeyi durdurduk. Kodun hacmi mevcut arama dizinimizi aştı ve daha ölçeklenebilir bir arama mimarisine geçmeye çalışıyoruz. Rahatsızlık için özür dilerim. Bu yeni arama dizininin ne zaman kullanıma hazır olacağını tahmin etmiyoruz, ancak hazır olduğunda bir blog yayını yayınlanacak (https://github.com/blog).
Rahatsız edici bir şekilde, hangi havuzların (eksik bir sorgudan da kaynaklanabilir) dışında, hangi depoların endekslenmediğini anlamanın bir yolu yoktur.
Bu sorunu izlemelerini (veya burada SO'da izlemelerini) beklemekten başka bir yolu da yoktur.
Gönderen: Tim Pease
Sorun izleyicimizin dahili olduğundan korkuyorum, ancak yeni arama dizini çalışır duruma gelir gelmez sizi bilgilendirebiliriz.
Google projede arama yapmanıza izin verir, ancak kodu girmez :(
Ben özgür ile Github Arşivlerin kaynak kodu içini arama Sourcegraph Chrome Uzantısı ... Ama İndirilen Krom İlk , Firefox gibi diğer tarayıcıların da desteklediğini biliyordum.
İçinden yağsız Sourceforge'den Chrome Uzantısı Dokümanlar ve daha sonra da ben, bazı okuyarak github en Arama Motoru kendisi ile dizin adlarını aramaya için gerekli sadece ne baktı Github en Codebase aranıyor Doc