2013-03-08 37 views
8

我使用git來版本化協作項目。通過命令行在github上自動打開請求

而且我有兩個遙控器。 是一個項目原產地是原始項目的分支。

那麼,我可否在發送推送(git push fork master)的時候自動創建一個請求可用的請求來源來合併呢?

我不能直接承諾原產地(我知道這是可能的)。我需要先推分叉,如果管理員aproves它,接受原產地。我想自動化這個過程,避免我手動去github並打開一個分叉。

我該怎麼做?

編輯:

私人組織:

name: Org 
repository: main 
branch: master 

私人叉:

​​

我嘗試以下方法,但還沒有工作:

有什麼不對?我怎樣才能解決這個問題?

編輯2

的另一種嘗試:

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

Github有[用於創建請求的API](http://developer.github.com/v3/pulls/#create-a-pull-請求)可能有一些用處。 – cjc343 2013-03-09 00:18:16

+0

@ cjc343,我曾看過這個,但我無法工作。 – GarouDan 2013-03-12 17:37:38

+0

使用API​​的很大一部分是驗證。您需要[應用程序](https://github.com/settings/applications)並通過[授權](http://developer.github.com/v3/oauth/#create-a)生成OAuth令牌-new授權)。有一個很好的介紹[使用curl](https://gist.github.com/caspyin/2288960)。 – cjc343 2013-03-12 17:45:48

回答

9

最後成功

第一個問題是,我用鑰匙密碼,而不是我的github上的密碼。

通過這樣的結構:

私人組織:

name: Org 
repository: main 
branch: master 

私人叉:

​​

而另一個問題是,我需要接受校正參數,最後的命令看起來像這一個:

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

Thx for help @ cjc343,@StevenPenny,@ desert69 =)

1

也許這樣

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

史蒂夫,我會試試你的方式。但是,你能解釋一些更多的參數嗎?我的github存儲庫位於名爲Fork的組織中,存儲庫可以是repo,因此Fork:repo。原來的項目在Org和一個名爲repo的倉庫中,所以Org:回購。什麼是鏈接https://api.github.com/repos/garoudan/foo/pulls? – GarouDan 2013-03-12 17:13:49

8

你應該看看hub,一個命令行工具來與GitHub互動。

Its README談論做出拉請求。

+1

不幸的是樞紐工作不正確的我。我有以下錯誤:創建拉取請求時出錯:未經授權(HTTP 401)。我試過看看爲什麼這個錯誤和我遇到的最好的事情是使用'git config github.token',但是這並沒有奏效。我與私人回購協作。 – GarouDan 2013-03-12 17:12:02

+0

請看我的嘗試2,有什麼不對? – GarouDan 2013-03-12 19:06:05