Het lijkt erop dat je met github.com moet communiceren om een pull-verzoek te starten. Is dit zo?
Antwoord 1, autoriteit 100%
UPDATE: de opdracht hubis nu een officieel github-project en ondersteunt ook het maken van pull-verzoeken
ORIGINEEL:
Het lijkt bijzonder handig om toe te voegen aan de hub-opdracht: http://github.com/defunkt/hub of de github-edelsteen: http://github.com/defunkt/github-gem
Ik raad aan om een probleem in te dienen bij de projecten die erom vragen. De github-jongens reageren behoorlijk.
Antwoord 2, autoriteit 44%
Git wordt nu geleverd met een subcommando 'git request-pull' [-p] <start> <url> [<end>]
Je kunt de documenten hier
bekijken
Misschien vind je dit handig, maar het is niet precies hetzelfde als de functie van GitHub.
Antwoord 3, autoriteit 24%
Met de Hub command-line wrapperkun je het koppelen aan git en dan kun je
git pull-request
Van de man-pagina van 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.
Antwoord 4, autoriteit 17%
OPMERKING:
Some of this answer is now outdated.
(2022-01-27)
(Bijvoorbeeld met behulp van de gh Gem.)
Momenteel zijn de enige tools die dit kunnen doenhub
engh
.
Een man zoekt als…
man git | grep pull | grep request
geeft
git request-pull <start> <url> [<end>]
Maar ondanks de naam is het niet wat je wilt. Volgens de documenten:
Genereer een verzoek waarin u uw upstream-project vraagt om wijzigingen door te voeren in
hun boom. Het verzoek, afgedrukt naar de standaarduitvoer, begint met de
branchebeschrijving, vat de wijzigingen samen en geeft aan van waaruit ze
kan worden getrokken.
@HolgerJustnoemde de github-edelsteen die doet wat je wilt:
sudo gem install gh
gh pull-request [user] [branch]
Anderen hebben het officiële hub
pakket van github genoemd:
sudo apt-get install hub
of
brew install hub
dan
hub pull-request [-focp] [-b <BASE>] [-h <HEAD>]
Antwoord 5, autoriteit 13%
Naast github/hub
, die werkt als een proxy voor Git, je hebt nu (februari 2020) cli/cli
:
Zie “Verhoog uw ervaring met de opdrachtregel: GitHub CLI is nu in bèta“
Maak een pull-verzoek
Maak een branch, maak verschillende commits om de bug beschreven in het probleem op te lossen, en gebruik gh om een pull-verzoek te maken om je bijdrage te delen.
Door GitHub CLI te gebruiken om pull-verzoeken te maken, maakt het ook automatisch een fork als je er nog geen hebt, en het pusht je branch en maakt je pull-verzoek om je wijziging te laten mergen.
En in april 2020: “GitHub CLI ondersteunt nu automatisch invullen van pull-verzoeken en aangepaste configuratie“
GitHub CLI 0.7 is uit met een aantal van de meest gevraagde verbeteringen op basis van de feedback die onze bètagebruikers hebben gegeven.
Sinds de laatste kleine release, 0.6, zijn er drie hoofdkenmerken:
- Configureer
gh
om je favoriete editor te gebruiken metgh config set editor [editor]
.- Configureer
gh
als standaard SSH metgh config set git_protocol ssh
.
Het standaard Git-protocol is HTTPS.- Vul de titel en hoofdtekst van een pull-verzoek van je commits automatisch in met
gh pr create --fill
.
Dus:
gh pr create --fill
Antwoord 6, autoriteit 7%
Ik gebruik een eenvoudige alias om een pull-verzoek te maken,
alias pr='open -n -a "Google Chrome" --args "https://github.com/user/repo/compare/pre-master...nawarkhede:$(git_current_branch)\?expand\=1"'
Antwoord 7, autoriteit 6%
Uiteindelijk heb ik er zelf een gemaakt, ik merk dat het beter werkt dan de andere oplossingen die er waren.
https://npmjs.org/package/pullr
Antwoord 8, autoriteit 4%
Ik heb onlangs een tool gemaakt die precies doet wat je wilt:
https://github.com/jd/git-pull-request
Het automatiseert alles in een enkele opdracht, het forken van de repo, het pushen van de PR enz. Het ondersteunt ook het bijwerken van de PR als je deze moet bewerken/repareren!
Antwoord 9
Ik heb deze tool eerder gebruikt – hoewel het lijkt alsof er eerst een probleem moet worden geopend, is het super handig en stroomlijnt het de workflow echt als je github-probleemopsporing gebruikt. git open-pull en dan wordt een pull-verzoek ingediend vanuit welke branch je ook bent of selecteert.
https://github.com/jehiah/git-open-pull
BEWERKEN: Het lijkt erop dat je direct problemen kunt creëren, dus deze tool is een goede oplossing.
Antwoord 10
Je kunt github official CLIinstalleren om PR te maken en andere soorten dingen.
Instellen:
gh auth login
Om PR te maken:
gh pr create
Samenvoegen:
gh pr merge
Antwoord 11
Ja. U kunt het hubCLI-hulpprogramma installeren.
Op MACOS: brew install hub
Je hebt een eenmalige GitHub-token nodig om in te loggen.
User -> Dev settings -> Personal tokens -> Generate
(Zie: https://github.com/settings/tokens)
git checkout -b mybranch
hub pull-request -b master -h mybranch
#user: your_user_name
#password: your_git_token
Antwoord 12
Persoonlijk vind ik het leuk om de diff in GitHub te bekijken voordat ik de PR open. Daarnaast schrijf ik de PR-beschrijving liever op GitHub.
Om die redenen heb ik een alias gemaakt (of technisch gezien een functie zonder argumenten), die de diff in GitHub opent tussen je huidige branch en master. Als je dit toevoegt aan je .zshrc
of .bashrc
, kun je eenvoudig open-pr
typen en je wijzigingen in GitHub zien. Ter info, je moet je wijzigingen hebben gepusht.
function open-pr() {
# Get the root of the github project, based on where you are configured to push to. Ex: https://github.com/tensorflow/tensorflow
base_uri=$(git remote -v | grep push | tr '\t' ' ' | cut -d ' ' -f 2 | rev | cut -d '.' -f 2- | rev)
# Get your current branch name
branch=$(git branch --show-current)
# Create PR url and open in the default web browser
url="${base_uri}/compare/${branch}/?expand=1"
open $url
}