Come posso avere Github sul mio server?


97

C'è qualcosa là fuori come Github che è per il tuo server locale? Sono curioso di sapere se esiste uno script PHP o anche un client desktop che imita le funzionalità di Github, adoro Github ma sarebbe bello ospitare sul mio server.

Mi scuso se questo non è considerato abbastanza "programmazione", ma generalmente solo i programmatori usano GIT e Github


Aggiornare

Prima di tutto grazie per tutti gli ottimi suggerimenti, è bello vedere che ci sono opzioni là fuori. Da quello che è pubblicato qui e dal mio googling posso dire che sembra che le soluzioni più belle / più simili a Github siano codificate in Ruby, il che è ottimo per alcuni ma io sono un tipo PHP (per ora).

La maggior parte dei visualizzatori PHP GIT sono progetti obsoleti e abbandonati o sembrano semplicemente una schifezza (mi rendo conto che potrei aggiustarli per essere più simili a Github) ma mi sono imbattuto in qualcosa in PHP che sembra promettente finora. Si chiama Glip è su Github qui https://github.com/patrikf/glip e per me è la soluzione più attraente e facile da usare che ho trovato per PHP finora. Per l'utente Git avanzato, potrebbe non essere sufficiente, ma per me, volevo solo essere in grado di visualizzare un repository git e che fornisce quella funzionalità.

Ora la mia ricerca continua ancora per la soluzione perfetta, la troverò mai? Lo spero ma, per ora, questo è ciò che abbiamo. Sto valutando la possibilità di scrivere il mio, uno che sia attraente come Github e abbia altre funzionalità come un rilevatore di problemi per richieste di bug e funzionalità. Tutti quelli che ho visto finora non sono così buoni


1
Perché vuoi ospitarlo sul tuo server? I server di Github sono molto veloci e affidabili.
maček

53
Forse perché non desidera utilizzare un servizio di terze parti. C'è qualcosa da dire per mantenere i tuoi dati con te stesso.
Noufal Ibrahim

1
principalmente così posso eseguirlo dal mio server di sviluppo
JasonDavis

Non puoi avere github, ma puoi usare script di hosting git come gitolite, gitosis o gitorious.
CodesInChaos

7
O forse perché Microsoft ha acquistato Github.
keji

Risposte:


73

C'è GitHub Enterprise per soddisfare le tue esigenze. E c'è un "clone" open source di Github Enterprise.

PS: ora Github fornisce repository privati ​​illimitati, bitbucket fa lo stesso. puoi provare entrambi. Ci sono anche molte altre soluzioni.


1
Ho appena realizzato che è Ruby, è davvero carino però
JasonDavis

11
Puoi eseguire GitLab gratuitamente sul tuo server. GitHub Enterprise costa un sacco di soldi.
Giobbe

Gitea e Gogs assomigliano appena GitHub. La tua risposta è del 2011 e sembra non essere aggiornata
SomethingSomething

30

Sono abbastanza sorpreso che nessuno abbia menzionato il progetto open source gogs (http://gogs.io) o un fork derivato di esso chiamato gitea (http://gitea.io) che fondamentalmente offre lo stesso che fa gitlab, ma con risorse di sistema minime (impronta ridotta), perfette per l'esecuzione in un Raspberry Pi, ad esempio. Anche l'installazione e la manutenzione sono molto più semplici.




7

Hai molte opzioni per eseguire il tuo server git,

  1. Bitbucket Server

    Bitbucket Server non è gratuito, ma non costoso. Ti costa solo una volta (10 $ al momento). Bitbucket è una buona opzione se desideri una soluzione duratura.

  2. Gitea ( https://gitea.io/en-us/ )

    Gitea è un progetto open source. È multipiattaforma e leggero. Puoi usarlo senza alcun costo. originariamente biforcuta da Gogs ( http://gogs.io ). È una soluzione di hosting di codice leggera scritta in Golang e rilasciata con licenza MIT. Funziona su Windows, macOS, Linux, ARM e altro.

  3. Gogs ( http://gogs.io )

    Gogs è un progetto self-hosted e open source con circa 32.000 stelle su GitHub. Puoi configurare i Gogs gratuitamente.

  4. GitLab ( https://gitlab.com/ )

    GitLab è un software di gestione dei repository Git gratuito, open source e basato sul web. Ha un wiki, il monitoraggio dei problemi e altre funzionalità. Il codice è stato originariamente scritto in Ruby, con alcune parti successivamente riscritte in Golang. GitLab Community Edition (CE) è una piattaforma di sviluppo software end-to-end open source con controllo della versione integrato, monitoraggio dei problemi, revisione del codice, CI / CD e altro ancora. Ospita GitLab CE autonomamente sui tuoi server, in un contenitore o su un provider cloud.

  5. GNU Savannah ( https://savannah.gnu.org/ )

    GNU Savannah è un software gratuito e open source della Free Software Foundation. Attualmente offre CVS, GNU arch, Subversion, Git, Mercurial, Bazaar, mailing list, web hosting, file hosting e servizi di bug tracking. Tuttavia, questo software non è per i nuovi utenti. Ci vuole un po 'di tempo per configurare e padroneggiare tutto al riguardo.

  6. GitPrep ( http://gitprep.yukikimoto.com/ )

    GitPrep è un clone di GitHub. puoi installare il sistema GitHub portatile in UNIX / Linux. Puoi creare utenti e archivi senza limitazioni. Questo è un software gratuito.

  7. Kallithes ( https://kallithea-scm.org/ )

    Kallithea, un progetto membro di Software Freedom Conservancy, è un sistema di gestione del codice sorgente GPLv3'd, software libero che supporta due principali sistemi di controllo delle versioni, Mercurial e Git, e ha un'interfaccia web che è facile da usare per utenti e amministratori. Puoi installare Kallithea sul tuo server e ospitare repository per il sistema di controllo della versione di tua scelta.

  8. Tuleap ( https://www.tuleap.org/ )

    Tuleap è uno sviluppo software e una gestione agile All-in-one, 100% Open Source. Puoi installarlo su docker o server CentOS.

  9. Phacility ( https://www.phacility.com/ )

    Phabricator è open source e puoi scaricarlo e installarlo localmente sul tuo hardware gratuitamente. L'installazione open source è un'installazione completa con il set completo di funzionalità.




4

Ho cercato anche implementazioni PHP git, ma senza risultati. L'unico modo per ricreare un sito simile a GitHub è configurare un server git "reale" sul tuo server e quindi utilizzare un client web PHP git come http://www.xiphux.com/programming/gitphp/ .

Sfortunatamente, puoi dimenticarti di farlo con una soluzione di hosting. Hai bisogno di un vero server virtuale in cui puoi installare tutto ciò che desideri.

Tuttavia, se hai bisogno di un luogo in cui archiviare del codice personale, non pubblico e non accessibile a tutti per un progetto, puoi provare BitBucket. Offre repository Git privati ​​e condivisi gratuitamente.


per il momento desidero principalmente per il mio server di sviluppo, quindi potrebbe essere buono
JasonDavis

4

Atlassian's Stash (ora chiamato BitBucket Server) sta diventando una buona alternativa a Github Enterprise. Sono un po 'una puttana JIRA quindi mi piacciono le integrazioni che hai con quello.


9
Sei una JIRA cosa?
Ruby Racer

@RubyRacer Immagino che dovrebbe essere chi sei :)
Alex Ivasyuv

//, tranne per il fatto che non è possibile unire i PR. Cosa che puoi fare, in GH. Grazie a Stash, perdevo periodicamente circa 8 ore della mia vita a causa di un contratto con un importante produttore di veicoli high-tech.
Nathan Basanese

3

Sì, c'è GitHub Enterprise :)

https://enterprise.github.com

L'unico problema è che è un po 'costoso :(


1
l'aggiornamento 2020 - Ora hai collaboratori illimitati nei repository privati ​​come parte del tuo piano GitHub Free. Il prezzo mensile per il nostro piano Pro è stato ridotto da $ 7 / mese a $ 4 / mese. Il prezzo mensile per il nostro piano Team a pagamento è stato ridotto da $ 9 / utente a $ 4 / utente.
warfish


2

Quali funzionalità in GitHub stai cercando?

Se non vuoi la collaborazione, le richieste pull ecc. Ma vuoi solo che i tuoi repository siano visualizzabili, git instawebcreerà qualcosa per te.


Sì, mi piace più o meno essere in grado di sfogliare facilmente il codice sorgente
JasonDavis

Git instaweb dovrebbe essere più che sufficiente allora. Ottieni molti più dettagli rispetto alla visualizzazione predefinita di GitHub ma è meno "web 2.0".
Noufal Ibrahim



1

Puoi eseguire Git (non l'intero Github) tramite Apache HTTP Server, in modo da ospitare il repository Git sul filesystem del tuo server ed esporlo tramite HTTP. Ottieni tutte le funzionalità di Git, ma ovviamente non sarai in grado di farlopull-request monitorare i problemi. Qualsiasi strumento collegato al repository Git ospitato autonomamente può implementare il resto delle funzionalità.

Riferimento: http://git-scm.com/docs/git-http-backend


Se puoi, consiglio vivamente questo percorso. Ospitando il servizio da soli, non dipendi da terze parti.
Phil

0

Inoltre puoi installare Trac . È più di un server Git, ha altre funzionalità come la gestione dei ticket e la gestione dei progetti. Inoltre ha la possibilità di estenderlo tramite plugin.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.