2013-03-08 18 views
8

Używam git do wersjonowania współpracującego projektu.Automatyczne otwieranie żądania ściągnięcia na github za pomocą wiersza polecenia

Mam dwa piloty. widelec jest widelcem projektu ,, a pochodzenie jest oryginalnym projektem.

Więc kiedy mogę wysłać Push (widelec git wypychania Master) automatycznie utworzyć żądanie ściągania dostępne w pochodzenia aby je połączyć?

Nie mogę wysłać bezpośrednio do pochodzenia (Wiem, że jest to możliwe). Najpierw muszę przesłać do widelec, a jeśli administrator to zaakceptuje, zaakceptuj na pochodzenie. Chciałbym zautomatyzować ten proces, unikając ręcznego przejścia na github i otwarcia widelca.

Jak mogę to zrobić?

Edit:

Prywatna Organizacja:

name: Org 
repository: main 
branch: master 

Prywatna wideł:

name: OrgFork (A organization of mine with forks from **Org**) 
repository: main 
branch: testing 

Próbowałem następujące podejście, ale jeszcze nie pracował:

co jest nie tak? Jak mogę to naprawić?

Edycja 2

Kolejna próba:

hub pull-request "Testing" -b OrgFork:main:testing -h OrgFork:main:master 
+0

Github w [API do tworzenia żądania ciągnąć] (http://developer.github.com/v3/pulls/#create-a-pull- żądanie), które mogą być przydatne. – cjc343

+0

@ cjc343, Rzuciłem okiem na to, ale nie mogłem włożyć do pracy. – GarouDan

+0

Duża część korzystania z interfejsu API jest uwierzytelniana. Potrzebujesz [aplikacji] (https://github.com/settings/applications) i do generowania tokenów OAuth za pośrednictwem [autoryzacja] (http://developer.github.com/v3/oauth/#create-a -nowa autoryzacja). Jest fajne wprowadzenie [używanie curl] (https://gist.github.com/caspyin/2288960). – cjc343

Odpowiedz

9

Wreszcie sukces

Pierwszym problemem jest to, że byłem przy użyciu klucza hasła, a nie moje hasło GitHub.

Dzięki tej strukturze:

prywatna organizacja:

name: Org 
repository: main 
branch: master 

Prywatna wideł:

name: OrgFork (A organization of mine with forks from **Org**) 
repository: main 
branch: testing 

a drugi problemu miałem potrzeby akceptować parametry koryguje ostateczna komenda wygląda ten:

hub pull-request "Testing pull-request" -b Org:master -h OrgFork:testing 

Thx za pomoc @ cjc343, @StevenPenny @ desert69 =)

1

Być jak to

curl -X POST -u garoudan -k \ 
    -d '{"title": "new feature","head": "octocat:new-feature","base": "master"}' \ 
    https://api.github.com/repos/garoudan/foo/pulls 

ref

+0

Steve, spróbuję twojej drogi. Ale czy możesz wyjaśnić nieco więcej parametrów? Moje repozytorium github znajduje się w organizacji o nazwie Fork, a repozytorium może być repozytorium, więc Fork: repo. Oryginalny projekt znajduje się w Org i repozytorium o nazwie repo też, więc Org: repo. Co to jest link https://api.github.com/repos/garoudan/foo/pulls? – GarouDan

8

Powinieneś sprawdzić hub, narzędzie wiersza polecenia, aby w teract z GitHub.

Its README mówi o wysyłaniu żądań.

+1

Niefortunne centrum nie działa poprawnie dla mnie. Mam następujący błąd: Błąd podczas tworzenia żądania pobrania: Nieautoryzowane (HTTP 401). Spróbowałem zobaczyć, dlaczego ten błąd i najlepszą rzeczą, jaką spotkałem, jest użycie 'git config github.token', ale to też nie zadziałało. Pracuję z prywatnym repozytorium. – GarouDan

+0

Proszę zobaczyć moją próbę 2, co jest nie tak? – GarouDan

Powiązane problemy