Come eseguire correttamente il fork di un repository Github

0
412

La programmazione open source consiste nell'essere in grado di apportare le proprie modifiche al codice scritto da altri. Per farlo, devi diramarti dal repository principale, comunemente chiamato “forking” il repository, ma può essere complicato se non lo fai correttamente.

Sebbene ciò si applichi specificamente a Github, poiché è di gran lunga il luogo più importante per la collaborazione open source, gli stessi principi valgono per i repository Git biforcati da qualsiasi fonte. Github ha semplicemente strumenti extra che semplificano alcune attività, ma se preferisci i comandi Git, mostreremo anche quelli.

Forking From Github

Se stai utilizzando Github, il metodo più semplice per eseguire il fork di un repository è fare clic sul pulsante “Fork” pulsante, che creerà automaticamente un nuovo repository nel tuo account e configurerà i telecomandi quando lo cloni. Questo lo farà apparire anche nei “forks” scheda del repository di origine e verrà visualizzato nel repository come “forked from X.”

Se non vuoi che venga visualizzato o non lo sei usando Github, dovrai clonare manualmente.

Se lo stai clonando tu stesso, assicurati di clonare correttamente il repository anziché eseguire “Download ZIP.” Se non lo cloni tramite Git, non copierà la cronologia delle versioni e non sarà configurato come repository Git.

Configurazione di The Fork’s Telecomando a monte

Se hai eseguito il fork del repository dal sito Web Github, il telecomando di origine punterà al tuo fork. Tuttavia, è anche utile poter eseguire il pull dal repository sorgente originale, chiamato “upstream.” Se apportano modifiche, probabilmente vorrai unire o eseguire un rebase con il telecomando upstream.

Pubblicità

Github ha strumenti integrati per farlo automaticamente, quindi non hai per eseguire questa parte, ma se desideri utilizzare gli strumenti CLI, dovrai aggiungere nuovamente il repository originale come remoto chiamato “upstream“:

git remote add upstream https://github.com/author/original.git

Forking da Git CLI

Se lo hai scaricato o clonato da un'altra parte, il tuo repository sarà comunque collegato al telecomando da cui lo hai clonato. Questo è probabilmente quello che è successo se hai scaricato un repository prima di volerlo creare con un fork. Fortunatamente, questo va perfettamente bene e dovrai semplicemente configurarlo da solo.

Se vuoi integrare nuove modifiche dalla sorgente, vorrai comunque la sorgente remota, ma non dovrebbe 8217;t essere l'impostazione predefinita “origine” a distanza. Quindi, ti consigliamo di rinominare il telecomando predefinito da “origine” a “a monte.”

git remote rename origin upstream

E poi aggiungi il tuo telecomando come nuovo “origin,” che probabilmente dovrai eseguire manualmente se prevedi di riportarlo su Github:

git remote add origin https://github.com/author/ForkName

Una volta fatto, 8217;probabilmente dovrai impostare il telecomando predefinito per ogni ramo sul tuo fork:

git branch –set-upstream-to origin Advertisement

E push to origin, che caricherà i file nel tuo nuovo repository.

Aggiornamento con nuove modifiche

Se hai effettuato un fork da Github, una delle caratteristiche interessanti è che tiene traccia della sorgente upstream e ti consente di eseguire unioni tramite il sito Web di Github. Ti mostrerà quando è aggiornato e quando non lo è, avrai la possibilità di unire.

Se vuoi farlo tramite la CLI Git, c'è un modo migliore. Il rebasing è simile all'unione, ma mantiene una gerarchia di commit flat e non porta a commit di merge non necessari. La maggior parte delle volte, vorrai eseguire il rebase quando integri le modifiche a monte, ma questo dipende da te. Anche la fusione è una strategia valida, soprattutto se non ti unisci molto spesso.

Per integrare le modifiche, dovrai recuperare il telecomando upstream, eseguire il checkout del ramo master e rebase su upstream/master.

git fetch upstream git checkout master git rebase upstream/master

Dopodiché, potresti dover force push se questa è la prima volta che si ribasa:

git push -f origin master

Effettuare richieste pull

Se hai effettuato un fork da Github , anche questo è facile. Puoi semplicemente premere “Contribuisci” e aprirà automaticamente una richiesta pull.

Pubblicità

In caso contrario, il processo è ancora semplice. Vai al repository upstream e sotto “Pull Requests” scheda, seleziona “Nuova richiesta pull.”

Quindi, dovrai selezionare “confronta tra fork” e trova il tuo repository fork. Seleziona i rami che desideri unire e fai clic su “Crea richiesta pull.”

Puoi continuare a lavorare sul fork e unire le richieste pull secondo necessità. Se lo fai spesso, potresti prendere in considerazione l'idea di impostare i tuoi rami localmente per le tue funzionalità e quindi unirli al ramo upstream di destinazione quando vuoi fare un PR. Questo può aiutare a mantenere i PR in tema e concentrati su un ramo di funzionalità alla volta.