Sembra che tu debba interagire con github.com per avviare una richiesta pull. È così?
Sembra che tu debba interagire con github.com per avviare una richiesta pull. È così?
Risposte:
AGGIORNAMENTO : il comando hub è ora un progetto github ufficiale e supporta anche la creazione di richieste pull
ORIGINALE :
Sembra una cosa particolarmente utile da aggiungere al comando hub: http://github.com/defunkt/hub o la gemma di github: http://github.com/defunkt/github-gem
Suggerisco di presentare un problema a quei progetti che lo richiedono. I ragazzi di github sono piuttosto reattivi.
gh pull-request [user] [branch]
.
hub
:hub pull-request -m "message pull request" -b master -h your_branch
hub merge https://github.com/repo/pull/1
Git ora viene fornito con un sottocomando 'git request-pull' [-p] <start> <url> [<end>]
Puoi vedere i documenti qui
Potresti trovare questo utile ma non è esattamente lo stesso della funzionalità di GitHub .
git pull
l'URL e il ramo indicati nella richiesta pull per unire le modifiche nel clone locale e inviare queste modifiche a github.
Con il wrapper della riga di comando di Hub puoi collegarlo a git e poi puoi farlo
git pull-request
Dalla pagina man dell'hub:
git pull-request [-f] [TITLE|-i ISSUE|ISSUE-URL] [-b BASE] [-h HEAD]
Opens a pull request on GitHub for the project that the "origin" remote points to. The default head of the pull request is the current branch. Both base and head of the pull request can be explicitly given in one of the following formats: "branch", "owner:branch",
"owner/repo:branch". This command will abort operation if it detects that the current topic branch has local commits that are not yet pushed to its upstream branch on the remote. To skip this check, use -f.
If TITLE is omitted, a text editor will open in which title and body of the pull request can be entered in the same manner as git commit message.
If instead of normal TITLE an issue number is given with -i, the pull request will be attached to an existing GitHub issue. Alternatively, instead of title you can paste a full URL to an issue on GitHub.
brew install hub
questa sembra la risposta corretta per gli utenti mac.
Un uomo cerca come ...
man git | grep pull | grep request
dà
git request-pull <start> <url> [<end>]
Ma, nonostante il nome, non è quello che vuoi. Secondo i documenti:
Genera una richiesta che chiede al tuo progetto upstream di inserire le modifiche nella loro struttura. La richiesta, stampata sull'output standard, inizia con la descrizione del ramo, riepiloga le modifiche e indica da dove possono essere estratte.
@HolgerJust ha menzionato la gemma github che fa quello che vuoi:
sudo gem install gh
gh pull-request [user] [branch]
Altri hanno menzionato il hub
pacchetto ufficiale di github:
sudo apt-get install hub
o
brew install hub
poi
hub pull-request [-focp] [-b <BASE>] [-h <HEAD>]
git request-pull
linea. Sì, questo ha senso, ma sono sorpreso che Git non abbia un comando per inviare richieste pull come Github. Dopotutto, git config user.email
è disponibile. Soprattutto con un comando chiamato pull-request
.
github-cli
non sia più disponibile dopo Precise ... Ho aperto una domanda per chiedere un'alternativa.
Ho finito per crearne uno mio , trovo che funzioni meglio delle altre soluzioni in circolazione.
Di recente ho creato uno strumento che fa esattamente quello che vuoi:
https://github.com/jd/git-pull-request
Automatizza tutto in un singolo comando, eseguendo il fork del repository, spingendo il PR ecc. Supporta anche l'aggiornamento del PR se è necessario modificarlo / ripararlo!
Sto usando un semplice alias per creare una richiesta pull,
alias pr='open -n -a "Google Chrome" --args "https://github.com/user/repo/compare/pre-master...nawarkhede:$(git_current_branch)\?expand\=1"'
Inoltre github/hub
, che funge da proxy per Git , ora (febbraio 2020) hai cli/cli
:
Vedi " Migliora la tua esperienza da riga di comando: la CLI di GitHub è ora in versione beta "
Crea una richiesta pull
Crea una diramazione, effettua diversi commit per correggere il bug descritto nel problema e usa gh per creare una richiesta pull per condividere il tuo contributo.
Utilizzando l'interfaccia della riga di comando di GitHub per creare richieste pull, crea anche automaticamente un fork quando non ne hai già uno, e spinge il tuo ramo e crea la tua richiesta pull per unire le tue modifiche.
E nell'aprile 2020: " CLI GitHub ora supporta richieste pull di compilazione automatica e configurazione personalizzata "
GitHub CLI 0.7 è disponibile con alcuni dei miglioramenti più richiesti dal feedback fornito dai nostri utenti beta.
Dall'ultima versione minore, la 0.6, ci sono tre caratteristiche principali:
- Configura
gh
per utilizzare il tuo editor preferito congh config set editor [editor]
.- Configurare
gh
l'impostazione predefinita su SSH congh config set git_protocol ssh
.
Il protocollo Git predefinito è HTTPS.- Riempi automaticamente il titolo e il corpo di una richiesta pull dai tuoi commit con
gh pr create --fill
.
Così:
gh pr create --fill
Ho usato questo strumento prima, anche se sembra che prima ci debba essere un problema aperto, è super utile e semplifica davvero il flusso di lavoro se usi il tracciamento dei problemi di Github. git open-pull e quindi una richiesta pull viene inviata da qualsiasi ramo in cui ci si trova o si seleziona. https://github.com/jehiah/git-open-pull
EDIT: sembra che tu possa creare problemi al volo, quindi questo strumento è una buona soluzione.