2015-07-22 17 views
9

Ho un set di documentazione per l'API della mia azienda, basato sull'eccellente Slate framework from TripIt. Per istruzioni, ho biforcato il loro repo e ho provveduto a personalizzarlo. Quella forcella vive here.Come impostare il fork predefinito per le richieste pull?

La cosa odiosa è che quando i contributori della mia organizzazione eseguono una nuova richiesta di pull, la "forcella di base" nella schermata "Confronto di Github" di Github è impostata per impostazione predefinita sul repository di TripIt, non sulla mia forcella. Hanno inviato più volte richieste di pull nel posto sbagliato. Dire alle persone "non farlo" non è una soluzione particolarmente affidabile. Come posso impostare il valore predefinito per il quale i PR sono basati sulla mia forcella?

+1

Avete _need_ per mantenere il collegamento a monte (= fork di TripIt)? Perché, a quanto ho capito, si utilizza il repository TripIt per documentare il codice della propria azienda. Destra? Non stai contribuendo a livello aziendale a monte? Se hai solo bisogno del repository per la documentazione della tua azienda, puoi semplicemente clonare il repository e non biforcare. Se lo cloni, non c'è nessun collegamento a monte, e tutte le PR sono puntate all'origine. E poi l'origine è l'impostazione predefinita per i tuoi PR, esattamente come desideri. – Mauddev

risposta

5

GitHub tiene traccia delle forche effettuate tramite la loro interfaccia e presuppone che le richieste di pull corrispondano a quel repository originale. Devi dire a GitHub che la tua copia non è un fork ma piuttosto un normale repository che ha la stessa storia. Purtroppo, GitHub non offre un buon modo per deselezionare il collegamento a forcella. Io di solito risolvere in questo modo:

  1. clonare il repository, git pull, e garantire la copia locale è completamente aggiornata.

  2. Elimina il repository su GitHub.

  3. Creare il repository su GitHub utilizzando lo stesso identico nome. Assicurarsi che sia un repository vuoto (non creare un file README o LICENSE.)

  4. git push tutto il contenuto di nuovo nel repository. (Potrebbe essere necessario passare a ogni ramo e spingerlo, e si potrebbe anche essere necessario git push --tags.)

FRAGILE: Questo approccio perderà problemi GitHub esistenti e tirare richiesta commenti. Se stai usando questi metodi pesantemente, questo approccio è probabilmente una cattiva idea, e dovresti invece usare contact GitHub customer support.

+0

Sono tutto per DIY, ma il supporto Github è molto bravo a prendermi cura di questo e sarebbe la mia prima scelta qui. – chicks

2

Gli altri sviluppatori sembrano aver biforcuto il repository di TripIt, quindi questa è la fonte/genitore del proprio lavoro. Infatti, se apri il tuo own repository, vedrai che non è stato biforcato affatto (il numero di fork è 0).

Quando emettono una richiesta di unione, per impostazione predefinita github mostra tale repository come origine e quindi la richiesta di pull non viene inviata all'utente.

La soluzione più semplice in questo caso consiste nel chiedere al dev di inserire il repository e lavorarci sopra.

+0

In realtà, ho già seguito l'approccio suggerito sopra, quindi vedrete il repository dopo che è stato corretto. Grazie però :) – riney

+0

@riney Non ho capito il tuo commento .. In ogni caso, non importa ora che hai risolto il tuo problema .. –

Problemi correlati