Su una macchina di produzione, voglio controllare un file specifico a una revisione specifica da GitHub per facilitare la migrazione del database. Non voglio eseguire il checkout (o anche clonare) l'intero repository del codice sorgente (perché questo è il mio ambiente di produzione). Come posso tirare solo il file che sto cercando?Come posso ritirare un singolo file da GitHub senza clonare l'intero repository?
risposta
Per quanto posso dire, il download di un singolo file da un repository git servito su http
è attualmente impossibile. Credo che GitHub abbia una funzione di "download" separata che vogliono invece utilizzare (ma non so se supporterà il download di un singolo file).
La soluzione alternativa consiste nel clonare l'intero repository (!) E quindi estrarre il file di interesse. Ecco una funzione bash, che fa il lavoro:
git-cat() {
if [ -z "$1" -o -z "$2" ]; then
echo "Usage: git-cat REPO_URL FILE [BRANCH]"
exit 1
fi
tmprepo=`mktemp -d -t gitrepo.XXXXXX`
reponame=$1
filename=$2
branchname=$3
if [ -z "$branchname" ]; then
branchname="master"
fi
git clone -nq $reponame $tmprepo &&
git --git-dir $tmprepo/.git show ${branchname}:${filename} &&
rm -rf $tmprepo
}
Lo faccio con per le dorsali in questo modo
curl -O https://raw.github.com/documentcloud/backbone/master/backbone-min.js
La mia soluzione è come in primo post. Ma provo a spiegare un po 'di più. C'è un pulsante "Raw" su GitHub per ogni file - mostrerà solo testo nel browser. Inoltre, puoi usare quell'URL.
Ad esempio, ho repo https://github.com/MasterSergius/conf_files.git e voglio ottenere il mio file .vimrc, ecco il link al mio file: https://raw.githubusercontent.com/MasterSergius/conf_files/master/.vimrc penso, che da questo modello che si può intuire anche file di URL da pronti contro termine e file percorso completo. Così, ora posso scaricarlo con l'arricciatura:
curl https://raw.githubusercontent.com/MasterSergius/conf_files/master/.vimrc -o ~/.vimrc
- 1. Posso clonare un repository git da BitBucket?
- 2. Clonazione di un singolo file da Github Repo
- 3. Come clonare un wiki GitHub?
- 4. Come clonare un repository Subversion con "GitHub per Windows"?
- 5. Come posso clonare un repository privato Gitlab?
- 6. Invia un solo file a GitHub da un repository locale
- 7. Come posso accedere a un repository Github privato da heroku?
- 8. Come aggiornare un file nel repository remoto, senza prima clonare quel repository?
- 9. Come ottenere solo un file da un repository Github PROTECTED
- 10. Come posso clonare un repository git e mantenere i telecomandi?
- 11. Come rinominare un repository GitHub?
- 12. Come in Git, clonare un repository remoto (GitHub) da una data specificata
- 13. Docker: vai da un repository privato GitHub
- 14. Ottieni un singolo file da un repository mercurial remoto
- 15. Come posso creare un nuovo repository GitHub da un ramo in un repository esistente?
- 16. GitHub include da un altro repository
- 17. Ottieni un singolo file da un repository git remoto
- 18. Clone repository in GitHub
- 19. Intellij 15 + Github - impossibile clonare il repository, ottenendo l'errore "Errore nel repository"
- 20. Come clonare selettivamente un repository git
- 21. Come clonare un repository di bitbucket?
- 22. Come distribuire da un singolo repository github con più diramazioni su più istanze di AppHarbor
- 23. Come posso creare repository nidificati in GitHub?
- 24. Come rimuovere i file dal repository GitHub?
- 25. Ricerca in più repository Github
- 26. Python per clonare un repository git
- 27. Posso eliminare un repository GitHub e quindi passare il mio file CNAME in un altro repository?
- 28. Come clonare il repository con Composer senza --prefer-source? (usando Symfony 2)
- 29. Come posso clonare un repository e conservare i timestamp del file?
- 30. git - come posso clonare il repository svn locale?
già risolto per certo: http://stackoverflow.com/questions/610208/how-to-retrieve-a-single-file-from-specific -revisione-in-git http://stackoverflow.com/questions/692246/how-do-i-revert-one-file-to-the-last-commit-in-git http://stackoverflow.com/domande/6580641/how-to-checkout-a-single-file-in-git http://stackoverflow.com/questions/1125476/git-retrieve-a-single-file-from-a-repository – fuzzyalej
Tutto di quanto sopra sono per lo più irrilevanti, eccetto http://stackoverflow.com/questions/1125476/git-retrieve-a-single-file-from-a-repository, ma sfortunatamente non è possibile usare '' --remote = '' con GitHub (http://groups.google.com/group/github/browse_thread/thread/cfcbcb1dc5f41f16). –