Domanda

Non sono sicuro, ma ho un vago ricordo di creare una richiesta di pull github con "Numero 4" o qualcosa nel titolo, ed esso stesso collegato automaticamente al numero 4 nel progetto che mi è stato sottoporlo al. Ho provato di nuovo di recente e non ha funzionato - è appena creato un nuovo problema, invece. Non vedo alcuna opzione come "Allega a tema" nella nuova pagina richiesta di pull, nè "Apri una nuova richiesta di pull di questo problema" nella pagina problema. Esiste un modo per fare questo, per i proprietari di aiuto progetto mantenere la loro pagina Problemi duplicazione pulito ed evitare?

Modifica : Per chiarire, io so che la creazione di una richiesta di pull sempre crea un nuovo problema. Vorrei collegare invece la richiesta di pull a un esistente problema.

È stato utile?

Soluzione

Il progetto "hub" può fare questo:

https://github.com/defunkt/hub

Nel repository e il ramo che si desidera inviare una richiesta di pull da:

$ hub pull-request -i 4

Questo utilizza il GitHub API, e attribuisce una richiesta di pull per il ramo corrente al numero esistente questione 4.


Modifica Commento di @atomicules: Per espandere sulla risposta da @MichaelMior un esempio completo è il seguente:

$ hub pull-request -i 4 -b USERNAME_OF_UPSTREAM_OWNER:UPSTREAM_BRANCH -h YOUR_USERNAME:YOUR_BRANCH URL_TO_ISSUE

Altri suggerimenti

L'aggiunta di una richiesta di pull a un problema a monte esistente è facile supponendo che si biforcuta utilizzando i normali mezzi GitHub .

È sufficiente riferimento al problema nel vostro messaggio di commit utilizzando una delle parole chiave supportati :

  • Chiudi
  • chiude
  • chiuso
  • fix
  • correzioni
  • fisso
  • determinazione
  • risolve
  • risolto

Ad esempio: "questo commit correzioni # 116"

Il testo fa riferimento la questione non ha bisogno di comparire nella riga dell'oggetto del vostro impegno.

Spingere il impegnarsi per il vostro repo github e la richiesta di pull verrà aggiunto automaticamente al problema.

Nota: Anche se non è necessario, si consiglia vivamente che si impegnano tutto ciò che può essere parte di una richiesta di pull a uno specifico ramo separato per tale questione, in quanto futuri commit su quel ramo verranno aggiunti alla richiesta di pull ( automaticamente dal github). Quindi, se non hai fatto un ramo separato, lasciato sul maestro, e poi tenuto in via di sviluppo, quindi tutti i commit indipendenti da padroneggiare otterrebbe aggiunto alla tua richiesta di pull.

È possibile creare una richiesta di pull da un problema esistente con il Pull richiesta API :

$ curl --user "smparkes" \
       --request POST \
       --data '{"issue": 15, "head": "smparkes:synchrony", "base": "master"}' \
       https://api.github.com/repos/technoweenie/faraday/pulls

Questo crea una richiesta di pull:

  • chiedere technoweenie al progetto faraday (https://api.github.com/repos/technoweenie/faraday / tira)
  • per estrarre dal ramo synchrony in smparkes' forcella ( "testa": " smparkes sincronia ")
  • al ramo master in forcella di technoweenie ( "base": " Master ")
  • e allegare la richiesta di pull a tema 15 ( "questione": 15 )
  • con il smparkes richiesta di pull autore (--user " smparkes ")
  • vi verrà richiesta la password GitHub

Un altro possibile strumento è il sito Issue2Pr che si trasforma i vostri problemi in Richieste Pull .

E 'molto semplice ed efficace!

entrare descrizione dell'immagine qui

Risorse:

Questa altra risposta spiega come utilizzare cURL (curl) per creare una richiesta di pull da un problema attraverso il GitHub API . Ecco come farlo utilizzando HTTPie (http), che produce un più facile da leggere e easier- al-edit comando:

$ http --auth "<your-GitHub-username>" \
       POST \
       https://api.github.com/repos/<issue-repo-owner>/<issue-repo-name>/pulls \
       issue=<issue-number> head=<your-GitHub-username>:<your-fork-branch-name> base=<issue-repo-branch-name>

Quindi digitare la password quando richiesto GitHub.

esempio spiegato

Hai effettuato l'accesso con nome utente GitHub smparkes e la password Hunter2 . Hai visto technoweenie 's repo Faraday , pensato a qualcosa che dovrebbe essere cambiato, e reso un problema su che repo per esso, Issue # 15 . Più tardi, si scopre che nessun altro ha fatto la vostra proposta di modifica, e hai anche un po 'di tempo per farlo da soli. È forchetta Faraday per il proprio account , quindi scrivere le modifiche e spingerli per la forcella sotto un ramo di nome sincronia . Pensi che technoweenie dovrebbe tirare le modifiche al Master ramo della sua pronti contro termine. Questo è il comando si può scrivere per convertire il vostro numero precedente in un Pull richiesta per questa situazione:

$ http --auth "smparkes" \
       POST \
       https://api.github.com/repos/technoweenie/faraday/pulls \
       issue=15 head=smparkes:synchrony base=master
http: password for smparkes@api.github.com: hunter2

Issue # 15 è una richiesta di pull .

nel caso in cui si utilizza 2-factor-auth con github dovrai fornire l'authtoken come intestazione nella richiesta:

curl -u "<your_username>:<your_pw>" \
     --header 'X-GitHub-OTP: <your_authtoken>' \
     --request POST \
     --data '{"issue":"<issue_nr>", "head":"<your_username>:<your_forks_branchname>", "base":"<upstream_branch>"}' \
     https://api.github.com/repos/<upstream_user>/<upstream_repo>/pulls

Si può anche utilizzare Gub per presentare le richieste di pull per il vostro problema.

Inoltre, consente di utilizzare un adeguato stile di forcella / pull-richiesta.

Modifica: 2013/10/05

Per ottenere Gub a presentare pull-richiesta di numero # 123, è necessario eseguire il seguente:

$ gub start 123

Questo creerà un nuovo ramo problema-123. Una volta che hai finito di lavorare sul problema, eseguire:

$ gub finish

Voila!

Nota:. Io sono l'autore di Gub gemma

Uso della strumento git-hub, si potrebbe fare questo con:

$> git hub pull attach 123

Questo sarebbe convertire numero # 123 nella richiesta di pull # 123, mantenendo così ogni discussione sulla questione in un unico luogo.

Se avete 2FA attivato, è possibile utilizzare passare il token con HTTPie:

http POST \
    https://api.github.com/repos/<repo-owner>/<repo-name>/pulls \
    issue=2 head=issue_2 base=master
    "Authorization:token PUTAUTHTOKENHERE"

Questa utilizzerà il issue_2 ramo per numero convertito # 2 in una richiesta di pull.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top