Gestione del progetto con GitHub [chiuso]


95

(EDIT: questa domanda è ora obsoleta per il mio problema particolare, poiché Google Code supporta git ora e ho comunque convertito i buffer di protocollo in Mercurial. Tuttavia, è ancora di interesse generale, IMO.)

La mia porta per i buffer del protocollo C # utilizza github per il controllo del codice sorgente e sto iniziando a divertirmi davvero con git. Tuttavia, per quanto ne so, github non fornisce alcuno strumento di gestione del progetto: tracciamento di difetti e funzionalità, discussioni, richieste di funzionalità, documenti ecc. Date le mie affiliazioni, Google Code sarebbe una scelta naturale, ma sembrerebbe strano crea un progetto lì ma ospita il sorgente su GitHub.

Questa domanda su Fogbugz / Assembla sembra concentrarsi principalmente sul tracciamento dei difetti. Mi chiedevo quali esperienze hanno avuto gli altri quando si tratta di una soluzione di gestione dei progetti più "completa". Fogbugz fa davvero tutto ciò di cui ho bisogno? (Usare un wiki per i documenti ha i suoi vantaggi, anche se voglio anche essere in grado di distribuire la documentazione con il codice.) Oltre alle caratteristiche esplicite menzionate nel primo paragrafo, ci sono altri aspetti del progetto che dovrei considerare che potrei aver perso?

Questo rimarrà sicuramente un progetto open source e, sebbene preferirei non pagare, non mi dispiace se è richiesta una piccola commissione. Al momento sono l'unico sviluppatore, ma potrebbe cambiare e potrebbero esserci molte persone che segnalano bug e richieste di funzionalità. (In altre parole, spero e mi aspetto che sia popolare, ma con me che faccio la maggior parte del lavoro.)

In precedenza ho contribuito a vari progetti open source, ma non ho fatto molto in termini di esecuzione di uno molto visibile e attivo. ( MiscUtil è attualmente ancora "ospitato" sul mio sito Web, con versioni occasionali - il controllo effettivo del codice sorgente è sul mio NAS locale.)

Qualcuno vuole condividere le proprie esperienze?

EDIT: Un'altra opzione che sto considerando ora è un progetto di Google Code (vorrei davvero essere fedele al mio datore di lavoro) e un'unione occasionale da git a svn (almeno, ogni volta che eseguo un rilascio). Ciò consentirebbe anche agli utenti non Git di ottenere facilmente il codice sorgente.


Sei vicino al rilascio dei buffer di protocollo in C #? Muoio dalla voglia di provarlo.
David Robbins

1
@David: È già utilizzabile, anche se è un po '"manuale". Vedi code.google.com/p/protobuf-csharp-port per alcune istruzioni preliminari.
Jon Skeet

Non sono sicuro che sia stato così l'ultima volta che hai modificato questa domanda, ma GitHub crea automaticamente archivi scaricabili del tuo codice in qualsiasi tag. Puoi anche scaricare lo stato del codice in qualsiasi commit.
Xiong Chiamiov

11
Puoi anche utilizzare mercurial su codice google, mercurial è piuttosto semplice e ha quasi le stesse funzionalità di git
dzen

GoogleCode è stato aggiunto il supporto per Git: code.google.com/p/support/wiki/GitFAQ
gavenkoa

Risposte:


45

Se stai pensando che sarai davvero l' unico sviluppatore , Fogbugz ti aiuterà a mantenere la tua sanità mentale. Fogbugz è un ottimo prodotto, crea comunicazioni mirate e può trasformare qualsiasi cosa in un caso (problema). Fa tutto questo così come qualsiasi sistema che ho visto.

Ma il suo orientamento è commerciale: comunicazione efficiente tra utenti e supporto tecnico, miglioramento dell'affidabilità dei programmi, concentrazione e priorità su ciò su cui si sta lavorando, discussioni interne ed esterne separate, alcuni buoni rapporti per tenere traccia che le cose vengono gestite. (L'unica critica a cui riesco a pensare è che non fa il blocco dei casi e il monitoraggio delle dipendenze, il che è davvero utile per quei bug sepolti in profondità.)

Poco di questo set di funzionalità ti aiuterà a costruire un progetto open source attivo, con una comunicazione aperta e vivace e la necessità di costruire una comunità e far evolvere gli utenti in sviluppatori man mano che il progetto cresce. Quindi, se è lì che vuoi finire, potresti davvero volere i canali di comunicazione meno mirati di uno di questi sistemi di tracciamento leggeri.

Non ho ancora utilizzato Google Code su un progetto, ma in termini di comunicazione trasparente e aperta, sembra un buon supporto per un progetto open source attivo. Inoltre lo sai già. Se vuoi aumentare il coinvolgimento nel tuo progetto, il codice di Google sembra la strada da percorrere.


7
Grazie per questo - tutte le cose utili. C'è un ulteriore vantaggio in Google Code: se manca una funzionalità, è più probabile che riesca a realizzarla :) (Sono sicuro che Fogbugz e altri prendono sul serio le richieste di funzionalità, ma con Google Code posso lavorare sul sistema stesso nel 20% del tempo ...)
Jon Skeet

28

GitHub ha recentemente introdotto un proprio tracker dei problemi ; Tuttavia, non ho fatto un'analisi competitiva per determinare come si adatta alle altre opzioni menzionate in questo thread.


GitHub ha oggi la gestione dei progetti integrata. È piuttosto minimalista (come i 37 segnali), ma i loro prezzi sono competitivi se li usi per il controllo della versione e la gestione del progetto. github.com/features/projects
m33lky

14

Uso GitHub insieme a Lighthouse per il monitoraggio dei problemi. È un po 'spoglio rispetto ad alcune delle altre opzioni, ma allo stesso tempo funziona molto bene se vuoi solo uno strumento leggero di cui non devi preoccuparti troppo. Può integrarsi con GitHub, se lo desideri, ed è anche gratuito per progetti open source.


12

Come al solito quando qualcuno lo chiede, menziono Redmine come ho fatto in questa domanda. So che la domanda ha già la sua "risposta migliore", ma credo che valga la pena menzionarla.


Aggiornamento: redmine.org
dparkar

10

Usiamo bitbucket.org , che non è GIT, è Mercurial *, ma ha il monitoraggio di bug / problemi per ramo ecc.

Penso che possa essere molto utile integrare queste cose con il posto in cui gestisci il tuo codice sorgente per fare riferimenti incrociati a cose come numero-problema in un messaggio di commit. Oppure Risolto il messaggio per un problema contenente il numero di revisione del codice. Lo perderai se scegliessi un BTS separato come il codice Google. Come accennato in un'altra risposta, Trac è davvero bravo nell'integrazione.

Modifica: dovrei dire che per il mio progetto open source più utilizzato, in realtà lo abbiamo a:

  1. Bitbucket (gestione del codice sorgente)
  2. Launchpad (segnalazione bug utente, gestione traduzioni)
  3. Trac ospitato autonomamente (wiki, monitoraggio dei problemi di progetti e sviluppatori, mirror del codice sorgente)
  4. Codice Google (download di file)

E so che sembra assurdo, ma scegliamo e scegliamo i pezzi migliori da ogni servizio. E sorprendentemente nessuno si lamenta.

* che è meglio secondo me comunque, ma per favore non incendiarmi.


Niente fiamme qui: non ho usato Mercurial, quindi non posso commentare. Penso che se dovessi effettivamente spostare l'hosting sorgente, andrei direttamente a Google Code e svn, con cui sono già a mio agio. Io penso che voglio mantenere il repository github - ma vedere la mia domanda di modifica ...
Jon Skeet

3
Secondo me, SVN è il principale punto debole del codice di Google. Ma come dici tu, dipende tutto da ciò con cui sei a tuo agio.
Ali Afshar

Modificato anche per riflettere il mio uso personale.
Ali Afshar

So che è sciocco, ma avrei problemi a salvare tutti i dati che voglio veramente salvare su un server chiamato "bitbucket".
TED

1
bitbucket ora fa anche Git
Radek

8

Hai considerato Trac ?

Sembra esserci una revisione "entusiasta" di un'integrazione git-Trac .

Non ho esperienza personale con questi strumenti, ma potresti voler controllare l'integrazione.


La domanda Fogbugz / Assembla a cui ho fatto riferimento sembrava implicare che Trac fosse un po 'indietro rispetto a FogBugz. Mi piace anche l'idea di ospitare discussioni di progetto (anche se potrei certamente usare Google Gruppi per quello se necessario).
Jon Skeet,

1

Uso GitHub e Google Code in alcuni posti. Il tracker dei problemi di Google Code è abbastanza decente, ma non riesco a gestire la sovversione.

Dai un'occhiata al mio client java memcached per un esempio di questo, in particolare la scheda sorgente in alto.


Freddo. Sembra davvero una buona soluzione. Potrei ancora clonare a sovversion per rendere più facile per coloro che vogliono usarlo - voglio essere il più inclusivo possibile.
Jon Skeet

2
Immagino che il materiale di download di GitHub sia sufficiente per chiunque desideri la sovversione. Chiunque faccia cose più avanzate rispetto al download dell'ultima versione dal tuo repository svn probabilmente sta già usando git. :)
Dustin,

1

Al lavoro usiamo FogBugz ed è di gran lunga lo strumento migliore nel suo genere secondo me. Lo userei per i progetti senza scopo di lucro su cui lavoro, tranne per il fatto che è così costoso oltre 2 utenti.

Per i progetti senza scopo di lucro, utilizziamo Lighthouse per il monitoraggio dei problemi. Va bene per quello che costa, e francamente non riesco a trovare alternative adeguate nella sua fascia di prezzo. Il monitoraggio dei problemi di Trac è leggermente migliore di quello di Bugzilla ... So che molte persone amano Trac ma lo trovo molto inflessibile. Le deficienze di Trac ci hanno portato a Lighthouse.

I miei progetti senza scopo di lucro stanno cercando di passare a Bitbucket . Oltre al monitoraggio dei problemi, ci consentirebbe di consolidare i nostri repository da beanstalkapp.com, oltre ad aggiungere un wiki.

Detto questo, se FogBugz-on-Demand avesse prezzi anche lontanamente simili a Lighthouse.app per conteggi di piccoli utenti, ci sposterei lì in un batter d'occhio. Quando usi FB al lavoro e poi Lighthouse.app di notte ... usando Lighthouse sembra che il tuo braccio sia stato mozzato.



1

Anch'io uso GitHub con Lighthouse. E se il tuo messaggio di commit contiene qualcosa come

[# 32 stato: risolto]

Lighthouse risolverà il ticket # 32 contro il commit, che trovo rapido e utile. Oltre a questo, Lighthouse è un po 'leggero sulle caratteristiche.


0

Suggerirei JavaForge come alternativa, poiché ha tutto ciò che cerchi:

  • Offre hosting gratuito con Mercurial e Git (o misto).
  • Il suo rilevatore di problemi è anni luce avanti rispetto a GitHub. È estremamente potente e personalizzabile, può tenere traccia di requisiti, richieste di funzionalità, bug, attività, ecc.
  • Fornisce la gestione dei documenti, anche con accesso WebDAV (condivisione facile come con le cartelle condivise).
  • Ha un wiki integrato per la creazione collaborativa di documentazione, requisiti, ecc.
  • Ha forum per le discussioni.

Si noti che il sito è basato su codeBeamer , il nostro prodotto commerciale testato in battaglia da aziende globali.

(Dichiarazione di non responsabilità: siamo un fornitore commerciale di soluzioni ALM agili.)



0

Puoi anche provare a utilizzare uno strumento come BusyFlow . Lì puoi tenere traccia dei commit di GitHub e commentarli (i commenti sono sincronizzati con GitHub). Per altri aspetti della gestione del progetto, BusyFlow si integra con Google Calendar, Trello, Basecamp, Pivotal Tracker ecc. In questo modo puoi vedere i tuoi elementi GitHub insieme ad attività, file ed eventi del calendario.

(Dichiarazione di non responsabilità: sono un co-fondatore di BusyFlow.)


-1

Hai considerato CodePlex?


1
Non lo avevo fatto, ma alla fine sono andato con Google Code e GitHub, sviluppando contro GitHub e spingendo a svn quando appropriato.
Jon Skeet,
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.