2015-08-20 1 views
9

Desidero cercare tutti i codici nella nostra installazione Github per stringhe di testo diverse. Abbiamo app. 90 diversi repository.Ricerca in più repository Github

Esiste un tale metodo?

Posso trovare solo la ricerca di nomi di file, autori ecc., Non cercare stringhe all'interno del codice. Il mio compito è quello di trovare tutti i progetti che utilizzano o si riferiscono a sistemi, classi, metodi, ecc. Che sono presto obsoleti.

In alternativa: Esiste un metodo per scaricare/clonare tutti i repository in un'unica azione?

Usiamo SourceTree come software client.

risposta

6

È possibile cercare più repository aggiungendo l'opzione repo: alla query, che è possibile visualizzare in azione sulla pagina advanced search di GitHub. Ogni valore di repo prende il solito modulo user/repository. Per esempio:

find_me repo:me/foo repo:you/bar repo:company/baz 

Per fare un elenco di tutti i repository se non ne avete uno, un modo semplice potrebbe essere GitHub di repositories API.

Una volta ottenuto l'elenco, sarebbe anche semplice clonare tutto con un semplice script di shell. Non credo che GitHub abbia una funzione integrata per questo.

while read repo; do 
    git clone https://github.com/$repo 
done < list_of_repos.txt 

Dal momento che suona come si sta tirando pronti contro termine di un'organizzazione, caniszczyk ha a Gist fare proprio questo. Ne copierò il nucleo qui, ma ci sono alcune discussioni con aggiornamenti e aiuto per i repository privati.

curl -s https://api.github.com/orgs/twitter/repos?per_page=200 | \ 
ruby -rubygems -e 'require "json"; JSON.load(STDIN.read).each { |repo| %x[git clone #{repo["ssh_url"]} ]}' 

C'è anche another SO question chiedendo su di esso, e un full backup script per ottenere i problemi, wiki, ecc

+0

No, l'obiettivo è quello di cercare tutti i pronti contro termine di proprietà di una sola organizzazione, senza dover enumerare i pronti contro termine. La ricerca dovrebbe essere semplice e facile. – Arthur

+0

concordato. Quando ho scritto questa risposta, la ricerca 'org:' nella [risposta di opticyclic] (http://stackoverflow.com/a/40569939/802618) non era ancora disponibile. Questa è ora una soluzione migliore. –

16

È possibile cercare direttamente nella parte superiore di un'Organizzazione ora. Ciò comporta il prefisso org:.

ad es. se si voleva cercare tutti i pronti contro termine di Twitter per la parola bot si dovrebbe cercare org:twitter bot

https://github.com/search?l=&q=org%3Atwitter+bot&ref=advsearch&type=Code

+0

Bello, funziona bene anche per problemi/PR per etichetta, es. 'org: acme label: qa_blocker'. –