Apakah ada cara untuk memahami sesuatu di dalam kode proyek Github?
Saya dapat menarik sumbernya dan melihatnya secara lokal, tetapi saya bertanya-tanya apakah itu mungkin melalui antarmuka web atau alternatif pihak ketiga.
Perbarui Juli 2012 (hari-hari lama pencarian Lucene dan pengindeksan kode yang buruk, dikombinasikan dengan GUI yang rusak, disimpan di sini untuk arsip):
Pencarian (berdasarkan SolrQuerySyntax ) sekarang lebih permisif dan " Invalid search query. Try quoting it." yang ditakutkan hilang ketika menggunakan pemilih pencarian default "Semuanya" :)
Berikut ini adalah ilustrasi grep dalam kode ruby: ia akan mencari repo dan pengguna, tetapi juga untuk apa yang ingin saya cari di tempat pertama: kode!
Jawaban dan ilustrasi awal dari edisi sebelumnya (September 2012 => Maret 2012)
Pilih Code, Repositoriesatau Usersdari drop-down dan
gunakan awalan terkait yang tercantum untuk jenis pencarian itu .
Misalnya, Gunakan repo:username/repo-namearahan untuk membatasi pencarian ke repositori kode . Halaman "
" awal Advanced Searchtermasuk bagian:
KodePencarian :
Pencarian Kode akan melihat semua kode yang dihosting secara publik di GitHub. Anda juga dapat memfilter menurut:
bahasa language:
nama repositori (termasuk nama pengguna) repo:
jalur file path:
Jadi jika Anda memilih Codepemilih " " pencarian, maka kueri Anda yang mencari teks dalam repo akan berfungsi:
Apa yang sangat tidak membantu dari GitHub adalah:
jika Anda lupa menempatkan pemilih pencarian yang tepat (di sini " Code"), Anda akan mendapatkan pesan kesalahan:
" Invalid search query. Try quoting it."
pesan kesalahan sama sekali tidak membantu Anda.
" quoting it" Jumlah apa pun tidak akan membuat Anda keluar dari kesalahan ini.
setelah Anda mendapatkan pesan kesalahan itu, Anda tidak mendapatkan bagian yang mengingatkan Anda tentang hubungan yang benar antara penyeleksi pencarian (" Repositories", " Users" atau " Language") dan filter pencarian (kanan) (di sini " repo:").
Upaya lebih lanjut yang Anda lakukan tidak akan menampilkan asosiasi tersebut (filter pemilih) kembali. Hanya pesan kesalahan yang Anda lihat di atas ...
Satu-satunya cara untuk mendapatkan kembali susunan itu adalah dengan mengeklik Advance Searchikon " ":
Everythingpemilih " " pencarian, yang merupakan default, sebenarnya yang salah untuk semua filter pencarian! Kecuali " language:" ...
(Anda dapat membayangkan / berasumsi bahwa " Everything" akan membantu Anda memilih pemilih pencarian apa pun yang benar-benar berfungsi dengan filter pencarian " repo:", tetapi tidak. Itu akan terlalu mudah)
Anda tidak dapat menentukan pemilih pencarian yang Anda inginkan melalui kolom " Advance Search" saja!
(tetapi Anda bisa untuk " language:", meskipun " Search Language" adalah kotak kombo lain tepat di bawah " Search for" tipe 'satu ...)
Jadi, pengalaman pengguna biasanya adalah sebagai berikut:
Anda mengklik " Advanced Search", melirik bagian-bagian filter tersebut, dan perhatikan yang ingin Anda gunakan: " repo:"
Anda membuat pencarian lanjutan pertama " repo:jruby/jruby stat", tetapi dengan pemilih Pencarian default " Everything"
=> FAIL! (dan array yang menampilkan asosiasi "Filter-Penyeleksi" hilang )
Anda perhatikan bahwa "Cari" selector thingy, pilih pilihan pertama " Repositories" ("Dah! Saya ingin mencari di dalam repositori ...")
=> FAIL!
sedih, Anda memilih pilihan penyeleksi berikutnya (di sini, " Users"), tanpa melihat pemilih tersebut, hanya untuk mencoba satu lagi ...
=> FAIL!
"Persetan, pencarian GitHub rusak ! Aku keluar dari sini!"
... (Pencarian lanjutan GitHub sebenarnya tidak rusak. Hanya GUI mereka ...)
Jadi, sebagai rekap, jika Anda ingin "menangkap sesuatu di dalam kode proyek Github", sebagai OP Ben Humphreys , jangan lupa untuk memilih " Code" pemilih pencarian ...
FWIW saya menghubungi GitHub karena saya belum mendapatkan hasil pencarian ketika membatasi pencarian pada repos saya. Tim Pease menjawab bahwa mereka mengalami kesulitan dengan volume indeks repo, jadi mereka telah bermigrasi ke server indeks yang terbengkalai. Tidak ada ETA pada saat semua repo akan dimigrasi.
M. Dudley
3
Saya baru saja menggunakan saran dari jawaban ini dan itu bekerja untuk saya juga, tetapi saya punya satu peringatan untuk ditambahkan. Nama repo harus selalu dalam huruf kecil bahkan jika GitHib mencantumkannya di tempat lain dengan cara yang berbeda. Misalnya, (setelah mengatur dropdown Code, dll, seperti di atas) coba pencarian yang sama dengan: repo: wordpress / wordpress vs repo: WordPress / WordPress ... hanya yang pertama yang akan memberikan hasil.
ethanpil
22
Repositori pribadi terbaru memiliki bidang pencarian untuk mencari melalui repo itu.
Namun, sepertinya fungsi ini tidak tersedia untuk repositori publik.
Saya ingin tahu apakah ini merupakan langkah komersial yang rendah untuk membuat orang meningkatkan ke versi berbayar? Tidak terdengar seperti github tapi tetap saja.
Sylvain
3
@ Silvain Itu tidak berpikir itu dilakukan sebagai dorongan untuk meningkatkan, karena bahkan setelah meningkatkan, Anda tidak akan mendapatkan bidang pencarian untuk repositori publik. Sebaliknya, saya pikir pencarian utama menggunakan indeks yang tidak termasuk repositori pribadi, dan jadi Anda tidak kehilangan fungsionalitas ketika membayar repositori pribadi, mereka harus menambahkan cara lain untuk mencari melalui repositori pribadi itu saja, maka penambahan bidang teks.
avernet
2
Bayangkan overhead mereka memiliki indeks pencarian untuk setiap baris kode di setiap repo! Gila! Itu sebabnya mereka hanya melakukannya untuk repo pribadi ..
Jonny Nott
1
Pencarian sekarang di header, sama dengan pencarian global.
Tib
20
MEMPERBARUI
Retas bookmarklet di bawah ini rusak karena masalah XHR dan perubahan API.
Untungnya Github sekarang memiliki "Pencarian Kode Baru Utuh" yang melakukan pekerjaan dengan sangat baik.
Ketika saya menggunakan plugin (Chrome) itu berfungsi dengan baik di repo scratchdot / github-code-search, tetapi tidak di repo lain.
forforf
Itu harus bekerja di beranda repo. Mungkin Anda mencoba dari halaman lain? Saya memposting tangkapan layar pencarian sampel di repositori berbeda di posting saya.
fny
Aha! Saya benar-benar menemukan mengapa pencarian itu gagal: repo harus menunggu giliran untuk pengindeksan. Mengingat miliaran repositori aktif, saya menduga itu membutuhkan sedikit waktu.
fny
2
@ user456584 itu berita baru buat saya. Anda mungkin ingin memberi tahu Google dan Mozilla juga.
fny
2
Saya tahu mengapa plugin tidak berfungsi, itu karena nama repo harus dalam huruf kecil. (Lihat komentar saya untuk jawaban VonC di atas). Saya sudah mengirimkan tambalan di GitHub, semoga penulis asli akan melihatnya. github.com/skratchdot/github-code-search.user.js/pull/5
ethanpil
10
Sementara jawaban VonC bekerja untuk beberapa repositori, sayangnya untuk banyak repositori, Anda tidak dapat melakukannya sekarang. Github sama sekali tidak mengindeks mereka (seperti yang dikomentari awalnya oleh @emddudley). Mereka belum menyatakan ini di situs web mereka, tetapi mereka akan memberi tahu Anda jika Anda meminta dukungan:
Dari: Tim Pease
Kami telah berhenti menambahkan kode baru ke dalam indeks pencarian kode kami. Volume kode telah melampaui indeks pencarian kami saat ini, dan kami sedang berupaya untuk pindah ke arsitektur pencarian yang lebih skalabel. Saya minta maaf atas gangguan yang terjadi. Kami tidak memiliki perkiraan kapan indeks pencarian baru ini akan berjalan dan berjalan, tetapi ketika sudah siap posting blog akan dipublikasikan (https://github.com/blog).
Mengganggu tidak ada cara untuk mengetahui repositori mana yang tidak diindeks selain dari kurangnya hasil (yang juga bisa dari permintaan yang buruk).
Tidak ada cara untuk melacak masalah ini selain menunggu mereka membuat blog (atau menonton di SO).
Dari: Tim Pease
Saya khawatir pelacak masalah kami bersifat internal, tetapi kami dapat memberi tahu Anda segera setelah indeks pencarian baru berjalan dan berjalan.
Mereka setidaknya harus menyebutkan bahwa beberapa hasil pencarian dapat dihilangkan. Benar-benar menyebalkan ketika saya refactor kode dan saya mencari kemunculan kode yang ada tetapi tidak disebutkan oleh GitHub.
Nicodemuz
2
Google memungkinkan Anda untuk mencari di proyek, tetapi bukan kode :(
Jawaban:
Perbarui Januari 2013: pencarian baru telah tiba! , berdasarkan pada elasticsearch.org :
Pencarian stat dalam repo ruby akan dinyatakan sebagai
stat repo:ruby/ruby
, dan sekarang hanya akan berfungsi TM .(nama repo tidak peka huruf besar kecil:
test repo:wordpress/wordpress
mengembalikan sama dengantest repo:Wordpress/Wordpress
)Akan memberi:
Dan Anda memiliki banyak contoh pencarian lainnya, berdasarkan pada pengikut , atau pada percabangan , atau ...
Perbarui Juli 2012 (hari-hari lama pencarian Lucene dan pengindeksan kode yang buruk, dikombinasikan dengan GUI yang rusak, disimpan di sini untuk arsip):
Pencarian (berdasarkan SolrQuerySyntax ) sekarang lebih permisif dan "
Invalid search query. Try quoting it.
" yang ditakutkan hilang ketika menggunakan pemilih pencarian default "Semuanya" :)(Saya kira kita semua bisa daripada Tim Pease , yang dalam salah satu tujuannya "meretas pengalaman penelusuran yang ditingkatkan untuk semua properti GitHub ", dan saya memang menyebutkan pertanyaan Stack Overflow saat itu;))
Berikut ini adalah ilustrasi grep dalam kode ruby: ia akan mencari repo dan pengguna, tetapi juga untuk apa yang ingin saya cari di tempat pertama: kode!
Jawaban dan ilustrasi awal dari edisi sebelumnya (September 2012 => Maret 2012)
Anda dapat menggunakan formulir pencarian GitHub lanjutan :
Code
,Repositories
atauUsers
dari drop-down danMisalnya, Gunakan
repo:username/repo-name
arahan untuk membatasi pencarian ke repositori kode . Halaman "" awal
Advanced Search
termasuk bagian:Jadi jika Anda memilih
Code
pemilih " " pencarian, maka kueri Anda yang mencari teks dalam repo akan berfungsi:Apa yang sangat tidak membantu dari GitHub adalah:
Code
"), Anda akan mendapatkan pesan kesalahan:"
Invalid search query. Try quoting it.
"pesan kesalahan sama sekali tidak membantu Anda.
"
quoting it
" Jumlah apa pun tidak akan membuat Anda keluar dari kesalahan ini.setelah Anda mendapatkan pesan kesalahan itu, Anda tidak mendapatkan bagian yang mengingatkan Anda tentang hubungan yang benar antara penyeleksi pencarian ("
Repositories
", "Users
" atau "Language
") dan filter pencarian (kanan) (di sini "repo:
").Upaya lebih lanjut yang Anda lakukan tidak akan menampilkan asosiasi tersebut (filter pemilih) kembali. Hanya pesan kesalahan yang Anda lihat di atas ...
Satu-satunya cara untuk mendapatkan kembali susunan itu adalah dengan mengeklik
Advance Search
ikon " ":Everything
pemilih " " pencarian, yang merupakan default, sebenarnya yang salah untuk semua filter pencarian! Kecuali "language:
" ...(Anda dapat membayangkan / berasumsi bahwa "
Everything
" akan membantu Anda memilih pemilih pencarian apa pun yang benar-benar berfungsi dengan filter pencarian "repo:
", tetapi tidak. Itu akan terlalu mudah)Anda tidak dapat menentukan pemilih pencarian yang Anda inginkan melalui kolom "
Advance Search
" saja!(tetapi Anda bisa untuk "
language:
", meskipun "Search Language
" adalah kotak kombo lain tepat di bawah "Search for
" tipe 'satu ...)Jadi, pengalaman pengguna biasanya adalah sebagai berikut:
Advanced Search
", melirik bagian-bagian filter tersebut, dan perhatikan yang ingin Anda gunakan: "repo:
"repo:jruby/jruby stat
", tetapi dengan pemilih Pencarian default "Everything
"=>
FAIL
! (dan array yang menampilkan asosiasi "Filter-Penyeleksi" hilang )Repositories
" ("Dah! Saya ingin mencari di dalam repositori ...")=>
FAIL
!Users
"), tanpa melihat pemilih tersebut, hanya untuk mencoba satu lagi ...=>
FAIL
!...
(Pencarian lanjutan GitHub sebenarnya tidak rusak. Hanya GUI mereka ...)
Jadi, sebagai rekap, jika Anda ingin "menangkap sesuatu di dalam kode proyek Github", sebagai OP Ben Humphreys , jangan lupa untuk memilih "
Code
" pemilih pencarian ...sumber
repo:"jruby/jruby" stat
repo:"jruby" stat
jruby: stat
tidak mencoba yang berhasilRepositori pribadi terbaru memiliki bidang pencarian untuk mencari melalui repo itu.
Namun, sepertinya fungsi ini tidak tersedia untuk repositori publik.
sumber
MEMPERBARUI
Retas bookmarklet di bawah ini rusak karena masalah XHR dan perubahan API.
Untungnya Github sekarang memiliki "Pencarian Kode Baru Utuh" yang melakukan pekerjaan dengan sangat baik.
sumber
Sementara jawaban VonC bekerja untuk beberapa repositori, sayangnya untuk banyak repositori, Anda tidak dapat melakukannya sekarang. Github sama sekali tidak mengindeks mereka (seperti yang dikomentari awalnya oleh @emddudley). Mereka belum menyatakan ini di situs web mereka, tetapi mereka akan memberi tahu Anda jika Anda meminta dukungan:
Mengganggu tidak ada cara untuk mengetahui repositori mana yang tidak diindeks selain dari kurangnya hasil (yang juga bisa dari permintaan yang buruk).
Tidak ada cara untuk melacak masalah ini selain menunggu mereka membuat blog (atau menonton di SO).
sumber
Google memungkinkan Anda untuk mencari di proyek, tetapi bukan kode :(
situs: https: //github.com/CreateJS/EaselJS test
sumber
Saya mencari kode sumber di dalam Repositori Github dengan Sourcegraph Chrome Extension gratis ... Tapi Saya Mengunduh Chrome terlebih dahulu , saya tahu browser lain mendukungnya, seperti - dan mungkin hanya hanya - Firefox.
Saya membaca sekilas SourceForge's Chrome Extension Docs dan kemudian saya juga melihat apa yang saya butuhkan untuk mencari nama direktori dengan Github's Search Engine itu sendiri, dengan membaca beberapa Dokumen Pencarian Kode Dasar dari Github.
sumber