2011-09-01 34 views
25

我正在使用Gitorious的後臺防火牆安裝。是否有可能從命令行在純Git中創建合併請求?

我可以進入Web應用程序,並從克隆中創建一個拉取請求,並將克隆的主回購作爲目標。

我希望能夠在命令行上做到這一點。更具體地說,我希望能夠從一個分支到另一個分支(而不是從克隆到種子回購)從命令行打開合併請求。

由於我沒有使用Github,我不能使用Github specific tools or libraries。這可能嗎?

回答

4

git本身沒有「合併請求」這樣的東西。所以,如果這是可能的,那就需要Gitorious特定的工具。在純粹的git中是不可能的。

52

answer given by svick是不正確的。它可能是

還有git request-pull這是Git套件的一部分。使用該命令行工具,您可以創建一個可以通過電子郵件發送的拉取請求。

例如:
您的origin擁有一個分支master。現在,您創建一個本地bug修正分支fix,實現bug修復和推動這一fix分公司origin

git push origin fix:fix 

然後,你希望有人合併在fix分支做成master的變化。創建

git request-pull master origin 

這拉請求將創建格式化的文本如下:

The following changes since commit <SHA of master>: 

    <commit message of SHA of mster> 

are available in the git repository at: 
    <repo location> fix 

<User Name> (<Number of Commits>): 
     <messages of the commits> 
     ... 

<changed files> 
... 
<file statistics> 

如果合併請求應當到別人,你推你的變化是無法訪問您的回購,總有機會與git format-patch合作。

推你fix分行origin(你甚至都不需要做的),而正對fix分支創建使用

git format-patch master.. 

這將創建一個補丁文件補丁爲每次提交後,你自從分支master以來,在fix中完成。你可以捆綁產生.patch文件與

tar czf fix.tgz *.patch 

,然後發送給他人,例如通過電子郵件進行審查和申請。

爲了完整起見:應用補丁可以用git am完成。

+3

您似乎已經錯過了實際問題,只回答標題...這清楚地說明了拉請求需要去Gitorious,它有*擁有*拉請求機制。 –

+6

這並不改變git本身沒有「合併請求」的概念。 – svick

+7

@Idan:OP要求**命令行**的方式來打開合併請求。這正是我所描述的。 – eckes

相關問題