Vorrei contribuire a un determinato progetto in GitHub . Dovrei rovinarlo ? Ramificalo ? Cosa è raccomandato e come farlo?
Vorrei contribuire a un determinato progetto in GitHub . Dovrei rovinarlo ? Ramificalo ? Cosa è raccomandato e come farlo?
Risposte:
Idealmente tu:
se si tratta di una nuova richiesta di funzionalità, non avviare prima la codifica. Ricorda di pubblicare un problema per discutere della nuova funzionalità.
Se la funzionalità è ben discussa e ci sono alcuni +1 o il proprietario del progetto l'ha approvata, assegnare il problema a te stesso, quindi eseguire i passaggi sopra.
Alcuni progetti non utilizzeranno il sistema di richiesta pull. Verifica con l'autore o la mailing list il modo migliore per ottenere il tuo codice nel progetto.
Per aggiungere alla risposta di Yann , una volta che hai biforcuto un progetto, puoi sviluppare in qualsiasi ramo tu voglia (uno nuovo o uno dal progetto originale)
Ricordati di:
origin
', dal momento che origin
sarebbe il tuo repository, risultato del fork)git checkout master;
git pull;
stesso per sviluppo (in cui il mio ramo di caratteristiche è stato unito per primo) La differenza che posso pensare di, dopo aver letto "pull vs pull --rebase" e "merge vs rebase" è solo la storia piatta. Qualcos'altro di più profondo?
Per aggiungere alle risposte di Yan e VonC, questa è una buona risorsa dagli stessi github: http://help.github.com/forking/
Assicurati anche di guardare nella barra laterale destra sotto l'intestazione "collaborazione".
V'è un grande video Railscast qui che ti guida attraverso il processo. Ha anche una serie di buoni consigli come mostrare come determinare su quale ramo potresti voler lavorare quando contribuisci, usando test, sottomoduli, ecc.
Mentre questo screencast si concentra principalmente sugli sviluppatori di Rails, la maggior parte delle informazioni è valida per contribuire a qualsiasi progetto open source.
Github ha molti modi di collaborare a un progetto. Il modello che utilizza maggiormente il progetto è un modello di richiesta pull. Ho avviato un progetto per aiutare le persone a fare la loro prima richiesta pull su GitHub. Puoi fare il tutorial pratico per fare il tuo primo PR qui
Il flusso di lavoro è semplice come
git push origin branch-name
Compare and pull request
pulsantelornajane ha un post sul blog che spiega bene il processo: http://www.lornajane.net/posts/2010/contributing-to-projects-on-github
Vorrei suggerire il seguente flusso di lavoro:
Clona (nella riga di comando)
git clone <url-from-your-workspace>
Immettere la directory appena creata e creare un ramo
cd <directory>
git checkout -b <branchname>
Ora apporta le tue modifiche
Puoi creare uno o più commit dopo ogni modifica:
commit -a
Al termine, invia le modifiche
git push origin <branch>
Nella riga di comando, dovresti visualizzare un URL per creare il PR . Visita l'URL e fai clic sul pulsante per creare un PR.
Altrimenti, visita il repository nel browser e ti offrirà un pulsante per creare la richiesta pull
Questo è tutto.
Quindi, in sostanza, hai indirizzato il repository nell'area di lavoro, creato un nuovo ramo e inviato quel nuovo ramo.
Se successivamente si effettuano più PR dallo stesso repository clonato, è necessario sincronizzare (ottenere le ultime modifiche dal repository originale) prima di creare un altro ramo per un altro PR:
git checkout master
git remote add upstream <url-of-original-repo>
git pull upstream master
Questi suggerimenti sono qui per salvarti dal problema di mettere il lavoro in un PR che non verrà unito. Se c'è attività nel progetto e le PR vengono unite, questo è un buon segno. Se ci sono Linee guida per il contributo, seguile.
Sii sempre cortese. Ricorda che i manutentori del progetto non sono in alcun modo obbligati a unire il tuo PR. Hai qualcosa di prezioso da aggiungere al progetto?