2010-10-27 9 views

Odpowiedz

72

Wydaje się to szczególnie przydatna rzecz, aby dodać do polecenia piasty: http://github.com/defunkt/hub lub gem github: http://github.com/defunkt/github-gem

Proponuję zgłoszenia problemu z tych projektów z prośbą o nim. Faceci github są bardzo wrażliwi.

+6

Github-gem zawierał możliwość tworzenia żądań ściągania na wieki: 'gh pull-request [użytkownik] [gałąź]'. –

+4

Czy działa bez uprzedniego wygenerowania przez Githuba repo, tj. Z bezpośredniego klonu źródłowego repo? –

+0

@Holger Just and anyone else: To po prostu tworzy tekst żądania ściągnięcia i nie omija potrzeby widelca na Githubie. Jeszcze się nie znalazłem. Zamierzam wkrótce wypróbować narzędzie "pullr" zamieszczone poniżej. Zobacz [tutaj] (https://github.com/defunkt/github-gem/issues/19) kwestię osób żądających pełnego wsparcia na żądanie pull od gem github. – mateor

14

Przeszukanie człowiek jak ...

man git | grep pull | grep request 

Daje

git request-pull <start> <url> [<end>] 

Ale, wbrew nazwie, nie jestem pewien, czy to, co chcesz. sugestia Holger wydaje się działać:

ghi pull-request [user] [branch] 

Ale trzeba najpierw zainstalować klienta GitHub (GH). Ubuntu to:

sudo apt-get install github-cli 
+3

pod Ubuntu 11.10 poleceń CLI Github jest teraz ghi –

+1

Kiedy próbuję to uzyskać: > ghi ciągnąć-Request błąd: komenda 'pull-żądanie' nie realizowany używam to: https: // github. com/jsmits/github-cli –

+3

Generuje podsumowanie oczekujących zmian, nie ma nic wspólnego z żądaniem ściągnięcia, które jest wydawane przez Github – Flov

1

Użyłem tego narzędzia przed-chociaż wydaje się, że nie musi być problemem otworzyć pierwsze, jest to bardzo przydatne i bardzo usprawnia przepływ pracy w przypadku korzystania ze śledzenia emisyjnej GitHub. git open-pull, a następnie wniosek o ściągnięcie zostanie przesłany z dowolnego oddziału, w którym jesteś, lub wybierz. https://github.com/jehiah/git-open-pull

EDYCJA: Wygląda na to, że można tworzyć problemy w locie, więc to narzędzie jest dobrym rozwiązaniem.

25

Z Hub command-line wrapper można połączyć go z git, a następnie można zrobić git pull-request

Od strony man piasty:

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. 
+2

Nie wiedział o Hub, jest dostępny przez homebrew: 'brew install hub' Wydaje się, że jest to poprawna odpowiedź dla użytkowników mac. – wbarksdale

+0

// Czy w Internecie można znaleźć inne informacje o Hub? –

+0

@NathanBasanese Tutaj: https://hub.github.com/^_^ –

6

skończyło się moim własnym, uważam, że działa lepiej na inne rozwiązania, które były w pobliżu.

https://npmjs.org/package/pullr

+5

Próbowałem robić pullr -n wewnątrz sklonowanego repozytorium. Daj mi błąd otwierający .../clonedRepo/undefined/.pullr-token-cache w systemie Windows 7. Możesz chcieć mieć więcej dokumentacji - jak przykład użycia? –

+0

// To wygląda dobrze. Jak możemy wnieść wkład? –

38

Wygląda to tak jest teraz obsługiwana wyjęciu z pudełka z poleceniem 'git request-pull' [-p] <start> <url> [<end>]

można zobaczyć docs here

+6

// Ale czy to działa z GitHub? –

+3

@NathanBasanese Generuje czytelny dla człowieka tekst opisujący żądanie pobrania. [Docs git] (http://git-scm.com/docs/git-request-pull) i [GitHub] (https://git-scm.com/book/ch5-2.html#Forked-Public -Project) powiedzenie e-mailem do opiekuna projektu, kogoś z uprawnieniami do zapisu na udostępnionym repo (prawdopodobnie github). Opiekun przegląda wysłany tekst żądania pobrania (zamiast korzystania z procesu pobierania na żądanie przez Githuba). Mogą wykonać polecenie "git pull" adresu URL i gałęzi wskazanej w żądaniu pobierania, aby scalić zmiany w lokalnym klonie i przenieść te zmiany do github. – hobs

3

Ta odpowiedź jest alternatywną drogą do istniejącego użycia git polecenie żądania-wyciągania. Korzystając z tego podejścia, nie tworzysz żądania ściągnięcia bezpośrednio z wiersza poleceń, ale raczej z poziomu wiersza poleceń byłoby szybsze i łatwiejsze tworzenie żądania ściągnięcia na github przez usunięcie kilku kroków.

nie używam polecenia prośba-pull z dwóch powodów:

  1. Uważam szuka nazwy innego repozytorium, które chcesz, aby żądania ściągania przeciw, biorąc zbyt dużo czasu.
  2. Możliwość podglądu znacznika sformatowanego tekstu przed utworzeniem żądania pobrania.

Dlaczego nie zautomatyzować tworzenia zakładki do porównywania bieżącej gałęzi z inną przy użyciu istniejącej funkcji porównywania github?

Stworzyłem skrypt na to, a utworzony alias wskazujący na tym skrypcie:

git symbolic-ref HEAD | 
sed -e "s/^refs\/heads\///" | 
awk '{printf "https://github.com/USERACCOUNT/REPOSITORY-NAME/compare/%s?expand=1",$1}' | 
xargs open 

note: USERACCOUTN and REPOSITORY-NAME need to be changed to yours.

pozwala umieścić ten skrypt w pliku o nazwie create-pull-request.sh. Następnie możemy utworzyć alias uruchamiając skrypt dodając ten jeden wiersz do pliku .bashrc:

alias makepullrequest="sh PATH-TO-THE-SCRIPT/create-pull-request.sh" 
1

I utworzeniu narzędzie niedawno, że robi dokładnie to, co chcesz:

https://github.com/jd/git-pull-request

Automatyzuje wszystko w jednym poleceniu, rozwidlając repo, przesuwając PR itp. Obsługuje również aktualizację PR, jeśli chcesz ją edytować/naprawić!

Powiązane problemy