Aktualizacja z lipca 2012 r. (Dawne czasy wyszukiwania Lucene i słabe indeksowanie kodu, w połączeniu ze zepsutym interfejsem GUI, zachowano tutaj w celu archiwizacji):
Wyszukiwanie (oparte na SolrQuerySyntax ) jest teraz bardziej liberalne, a przerażające „ Invalid search query. Try quoting it.” zniknęło przy użyciu domyślnego selektora wyszukiwania „Wszystko” :)
Wybierz Code, Repositoriesczy Usersz listy rozwijanej i
użyj odpowiednich prefiksów wymienionych dla tego typu wyszukiwania .
Na przykład użyj repo:username/repo-namedyrektywy, aby ograniczyć wyszukiwanie do repozytorium kodu .
Początkowa Advanced Searchstrona „ ” zawiera sekcję:
Wyszukiwanie kodu :
Wyszukiwanie kodu przejrzy cały kod hostowany publicznie na GitHub. Możesz także filtrować według:
język language:
nazwa repozytorium (w tym nazwa użytkownika) repo:
ścieżka do pliku path:
Jeśli więc wybierzesz Codeselektor wyszukiwania „ ”, wyszukiwanie grep dla tekstu w repozytorium będzie działać:
Co jest niezwykle pomocne z GitHub jest to, że:
jeśli zapomnisz umieścić właściwy selektor wyszukiwania (tutaj „ Code”), pojawi się komunikat o błędzie:
„ Invalid search query. Try quoting it.”
komunikat o błędzie w ogóle ci nie pomaga.
Żadna liczba „ quoting it” nie spowoduje usunięcia tego błędu.
po pojawieniu się tego komunikatu o błędzie nie są wyświetlane sekcje przypominające o prawidłowym powiązaniu między selektorami wyszukiwania („ Repositories”, „ Users” lub „ Language”) a (prawymi) filtrami wyszukiwania (tutaj „ repo:”).
Każda kolejna próba, której dokonasz, nie spowoduje wyświetlenia tych powiązań (selektorów-filtrów). Tylko komunikat o błędzie widoczny powyżej ...
Jedynym sposobem na odzyskanie tych tablic jest kliknięcie Advance Searchikony „ ”:
W „ Everything” selektor wyszukiwania, który jest domyślnym, jest rzeczywiście źle jeden dla wszystkich filtrów wyszukiwania! Poza „ language:” ...
(Można wyobrazić / zakładamy, że „ Everything” pomoże Ci wybrać cokolwiek wyszukiwania selektor faktycznie działa z „filtr repo:”, ale nope. To byłoby zbyt łatwe)
nie możesz określić wybranego selektora wyszukiwania tylko w polu „ Advance Search”!
(ale możesz dla „ language:”, mimo że „ Search Language” to kolejne pole kombi tuż pod „ Search for” „typ”…)
Tak więc wrażenia użytkownika są zwykle następujące:
klikniesz „ Advanced Search”, przejrzysz te sekcje filtrów i zauważysz, że chcesz użyć: „ repo:”
wykonujesz pierwsze wyszukiwanie zaawansowane „ repo:jruby/jruby stat”, ale z domyślnym selektorem wyszukiwania „ Everything”
=> FAIL! (i tablice wyświetlające powiązanie „Selektory-filtry” zniknęły )
zauważysz, że selektor „Szukaj”, wybierz pierwszy wybór „ Repositories” („Dah! Chcę wyszukiwać w repozytoriach ...”)
=> FAIL!
odrzucony, wybierasz następny wybór selektorów (tutaj „ Users”), nawet nie patrząc na wspomniany selektor, tylko po to, aby spróbować jeszcze raz ...
=> FAIL!
„Pieprzyć to, wyszukiwanie w GitHub zostało przerwane ! Nie ma mnie tutaj!”
... (Wyszukiwanie zaawansowane GitHub nie jest zepsute. Tylko ich GUI jest ...)
Podsumowując, jeśli chcesz „szukać czegoś w kodzie projektu Github”, tak jak OP Ben Humphreys , nie zapomnij wybrać „ Code” selektora wyszukiwania…
FWIW Skontaktowałem się z GitHub, ponieważ nie otrzymałem żadnych wyników wyszukiwania podczas ograniczania wyszukiwania do moich repozytoriów. Tim Pease odpowiedział, że mieli problemy z liczbą indeksów repo, więc przeprowadzili migrację na podzielone serwery indeksów. Nie ma ETA, kiedy migrowane będą wszystkie repozytoria.
M. Dudley,
3
Właśnie skorzystałem z porady zawartej w tej odpowiedzi i dla mnie też działa, ale mam jedno zastrzeżenie do dodania. Nazwa repo powinna zawsze być pisana małymi literami, nawet jeśli GitHib wymienia ją wszędzie indziej w inny sposób. Na przykład (po ustawieniu menu rozwijanego Kod itp., Jak wyżej) spróbuj tego samego wyszukiwania za pomocą: repo: wordpress / wordpress vs repo: WordPress / WordPress ... tylko pierwszy przyniesie wyniki.
ethanpil
22
Ostatnie prywatne repozytoria mają pole wyszukiwania do przeszukiwania tego repozytorium.
Dziwnie wygląda na to, że ta funkcja nie jest dostępna dla publicznych repozytoriów.
Zastanawiam się, czy jest to mało komercyjny krok, aby skłonić ludzi do przejścia na wersję płatną? Nie brzmi jak github, ale nadal.
Sylvain
3
@Sylvain Nie wydaje się, aby zrobiono to jako zachętę do aktualizacji, ponieważ nawet po aktualizacji nie pojawi się to pole wyszukiwania publicznych repozytoriów. Zamiast tego uważam, że wyszukiwanie główne korzysta z indeksu, który nie obejmuje prywatnych repozytoriów, a więc nie tracisz funkcjonalności podczas płacenia za prywatne repozytorium, musieli dodać inny sposób przeszukiwania tylko tego prywatnego repozytorium, stąd dodatkowe pole tekstowe.
avernet
2
Wyobraź sobie, że narzuty te mają indeks wyszukiwania dla każdej linii kodu w każdym repozytorium! Szalony! Dlatego robią to tylko dla prywatnych repozytoriów.
Jonny Nott
1
Wyszukiwanie jest teraz w nagłówku, tak samo jak wyszukiwanie globalne.
Tib
20
AKTUALIZACJA
Poniższy hack bookmarkletu jest zepsuty z powodu problemów XHR i zmian API.
Postępuj zgodnie ze wskazówkami tam, lub jeśli nie lubisz nadużywać przeglądarki za pomocą skryptów i rozszerzeń, użyj mojego bukmacherskiego pakietu skryptu użytkownika:
Zapisz powyższe źródło jako adres URL nowej zakładki. Przejdź do dowolnego repozytorium Github, kliknij zakładkę i bam : in-page, szukaj kodu zlefikowanego .
CAVEAT Github musi zaindeksować repozytorium, zanim będzie można go przeszukać.
Abrakadabra...
Oto przykładowe wyszukiwanie z adnotowanego repozytorium specyfikacji ECMAScript 5.1:
Kiedy używam wtyczki (Chrome), działa ona dobrze w repozytorium scratchdot / github-code-search, ale nie działa w żadnym innym repozytorium.
dla
Powinien działać na stronie głównej każdego repozytorium. Być może próbujesz z innej strony? W swoim poście zamieściłem zrzut ekranu z przykładowego wyszukiwania w innym repozytorium.
fny
Aha! Naprawdę odkryłem, dlaczego te wyszukiwania mogły się nie powieść: repo musi czekać na swoją kolej na indeksowanie. Biorąc pod uwagę zillion aktywnych repozytoriów, podejrzewam, że zajmuje to trochę czasu.
pieprzyć
2
@ user456584 to dla mnie nowość. Możesz również powiadomić Google i Mozillę .
fny
2
Zrozumiałem, dlaczego wtyczka nie działa, ponieważ nazwa repozytorium musi być pisana małymi literami. (Zobacz mój komentarz do odpowiedzi VonC powyżej). Już przesłałem łatkę na GitHub, mam nadzieję, że oryginalny autor ją zobaczy. github.com/skratchdot/github-code-search.user.js/pull/5
ethanpil 11.01.2013
10
Podczas gdy odpowiedź @ VonC działa w przypadku niektórych repozytoriów, niestety w przypadku wielu repozytoriów nie możesz teraz. Github po prostu ich nie indeksuje (jak pierwotnie skomentował @emddudley). Nie podali tego nigdzie na swojej stronie, ale powiedzą ci, jeśli poprosisz o wsparcie:
Od: Tim Pease
Przestaliśmy dodawać nowo wypchnięty kod do naszego indeksu wyszukiwania kodu. Objętość kodu przerosła nasz obecny indeks wyszukiwania i pracujemy nad przejściem do bardziej skalowalnej architektury wyszukiwania. Przepraszam za irytację. Nie mamy oszacowania, kiedy ten nowy indeks wyszukiwania zostanie uruchomiony, ale kiedy będzie gotowy, opublikowany zostanie post na blogu (https://github.com/blog).
Irytujące jest to, że nie ma sposobu, aby stwierdzić, które repozytoria nie są indeksowane, poza brakiem wyników (które również mogą wynikać ze złego zapytania).
Nie ma też innego sposobu na śledzenie tego problemu niż czekanie na blogu (lub oglądanie tutaj na SO).
Od: Tim Pease
Obawiam się, że nasz moduł do śledzenia problemów jest wewnętrzny, ale możemy Cię powiadomić, gdy tylko pojawi się nowy indeks wyszukiwania.
Powinny przynajmniej wspomnieć, że niektóre wyniki wyszukiwania mogą zostać pominięte. Jest to całkowicie do bani, gdy refaktoryzuję kod i szukam wystąpień kodu, które są tam, ale nie wspomniane przez GitHub.
Nikodemuz
2
Google umożliwia wyszukiwanie w projekcie, ale nie kod :(
Odpowiedzi:
Aktualizacja ze stycznia 2013: nadeszła nowa wyszukiwarka! , na podstawie elasticsearch.org :
Wyszukiwanie statystyk w repozytorium ruby zostanie wyrażone jako
stat repo:ruby/ruby
i będzie teraz działać tylko w trybie TM .(w nazwie repozytorium nie jest rozróżniana
test repo:wordpress/wordpress
wielkość liter: zwraca to samo cotest repo:Wordpress/Wordpress
)Da:
I masz wiele innych przykładów wyszukiwania, opartych na obserwatorach , widelcach lub ...
Aktualizacja z lipca 2012 r. (Dawne czasy wyszukiwania Lucene i słabe indeksowanie kodu, w połączeniu ze zepsutym interfejsem GUI, zachowano tutaj w celu archiwizacji):
Wyszukiwanie (oparte na SolrQuerySyntax ) jest teraz bardziej liberalne, a przerażające „
Invalid search query. Try quoting it.
” zniknęło przy użyciu domyślnego selektora wyszukiwania „Wszystko” :)(Podejrzewam, że możemy wszyscy oprócz Tima Pease'a , który w jednym z jego celów „hakował ulepszone funkcje wyszukiwania dla wszystkich właściwości GitHub ”, i wspominałem wtedy o tym przepełnieniu stosu ;))
Oto ilustracja grepa w kodzie ruby: będzie szukał repozytoriów i użytkowników, ale także tego, co chciałem przeszukać: kod!
Pierwsza odpowiedź i ilustracja poprzedniego wydania (wrzesień 2012 => marzec 2012)
Możesz użyć formularza wyszukiwania zaawansowanego GitHub :
Code
,Repositories
czyUsers
z listy rozwijanej iNa przykład użyj
repo:username/repo-name
dyrektywy, aby ograniczyć wyszukiwanie do repozytorium kodu .Początkowa
Advanced Search
strona „ ” zawiera sekcję:Jeśli więc wybierzesz
Code
selektor wyszukiwania „ ”, wyszukiwanie grep dla tekstu w repozytorium będzie działać:Co jest niezwykle pomocne z GitHub jest to, że:
Code
”), pojawi się komunikat o błędzie:„
Invalid search query. Try quoting it.
”komunikat o błędzie w ogóle ci nie pomaga.
Żadna liczba „
quoting it
” nie spowoduje usunięcia tego błędu.po pojawieniu się tego komunikatu o błędzie nie są wyświetlane sekcje przypominające o prawidłowym powiązaniu między selektorami wyszukiwania („
Repositories
”, „Users
” lub „Language
”) a (prawymi) filtrami wyszukiwania (tutaj „repo:
”).Każda kolejna próba, której dokonasz, nie spowoduje wyświetlenia tych powiązań (selektorów-filtrów). Tylko komunikat o błędzie widoczny powyżej ...
Jedynym sposobem na odzyskanie tych tablic jest kliknięcie
Advance Search
ikony „ ”:W „
Everything
” selektor wyszukiwania, który jest domyślnym, jest rzeczywiście źle jeden dla wszystkich filtrów wyszukiwania! Poza „language:
” ...(Można wyobrazić / zakładamy, że „
Everything
” pomoże Ci wybrać cokolwiek wyszukiwania selektor faktycznie działa z „filtrrepo:
”, ale nope. To byłoby zbyt łatwe)nie możesz określić wybranego selektora wyszukiwania tylko w polu „
Advance Search
”!(ale możesz dla „
language:
”, mimo że „Search Language
” to kolejne pole kombi tuż pod „Search for
” „typ”…)Tak więc wrażenia użytkownika są zwykle następujące:
Advanced Search
”, przejrzysz te sekcje filtrów i zauważysz, że chcesz użyć: „repo:
”repo:jruby/jruby stat
”, ale z domyślnym selektorem wyszukiwania „Everything
”=>
FAIL
! (i tablice wyświetlające powiązanie „Selektory-filtry” zniknęły )Repositories
” („Dah! Chcę wyszukiwać w repozytoriach ...”)=>
FAIL
!Users
”), nawet nie patrząc na wspomniany selektor, tylko po to, aby spróbować jeszcze raz ...=>
FAIL
!...
(Wyszukiwanie zaawansowane GitHub nie jest zepsute. Tylko ich GUI jest ...)
Podsumowując, jeśli chcesz „szukać czegoś w kodzie projektu Github”, tak jak OP Ben Humphreys , nie zapomnij wybrać „
Code
” selektora wyszukiwania…źródło
repo:"jruby/jruby" stat
repo:"jruby" stat
jruby: stat
nie próbowałem żadnego z nichOstatnie prywatne repozytoria mają pole wyszukiwania do przeszukiwania tego repozytorium.
Dziwnie wygląda na to, że ta funkcja nie jest dostępna dla publicznych repozytoriów.
źródło
AKTUALIZACJA
Poniższy hack bookmarkletu jest zepsuty z powodu problemów XHR i zmian API.
Na szczęście Github ma teraz „Całkiem nowe wyszukiwanie kodów”, które doskonale wykonuje to zadanie.
źródło
Podczas gdy odpowiedź @ VonC działa w przypadku niektórych repozytoriów, niestety w przypadku wielu repozytoriów nie możesz teraz. Github po prostu ich nie indeksuje (jak pierwotnie skomentował @emddudley). Nie podali tego nigdzie na swojej stronie, ale powiedzą ci, jeśli poprosisz o wsparcie:
Irytujące jest to, że nie ma sposobu, aby stwierdzić, które repozytoria nie są indeksowane, poza brakiem wyników (które również mogą wynikać ze złego zapytania).
Nie ma też innego sposobu na śledzenie tego problemu niż czekanie na blogu (lub oglądanie tutaj na SO).
źródło
Google umożliwia wyszukiwanie w projekcie, ale nie kod :(
witryna: https: //github.com/CreateJS/EaselJS test
źródło
Przeszukuję kod źródłowy w repozytoriach Github z bezpłatnym rozszerzeniem Chrome Sourcegraph ... Ale najpierw pobrałem Chrome , ale wiedziałem, że inne przeglądarki go obsługują, takie jak - i może tylko - Firefox.
I odtłuszczonego przez SourceForge Chrome Extension Docs i wtedy też patrzyłem na to, co potrzebne do wyszukiwania nazw katalogów z GitHub w wyszukiwarce sama, czytając niektóre GitHub w kodzie Wyszukiwanie Doc
źródło