2011-09-01 5 views
25

私はGitoriousのファイアウォールの後ろにインストールしています。純粋なGitでコマンドラインからマージリクエストを作成することはできますか?

私は、Webアプリケーションに入り、クローンからプルリクエストを作成し、それがクローンされた元のマスターレポをターゲットにすることができます。

私はこれをコマンドラインで実行したいと考えています。より具体的には、私は、ブランチからシードレポへとむしろ、あるブランチから別のブランチへのコマンドラインからのマージ要求を開くことができるようにしたいと考えています。

私はGithubを使用していないので、私はGithub specific tools or librariesを使用できません。これは可能ですか?

答えて

4

git自体には「マージリクエスト」というものはありません。したがって、これが可能ならば、Gitorious固有のツールが必要になります。純粋なgitでは不可能です。

52

answer given by svickが正しくありません。 です。

Gitスイートの一部であるgit request-pullがあります。このコマンドラインツールを使用すると、Eメールごとに送信できるプルリクエストを作成できます。

例:
originには支店がありますmaster。今、あなたは、地元のバグフィクスブランチfixを作成するバグ修正を実装し、originにそのfix枝押し:次に

git push origin fix:fix 

を、誰かがmasterfix支店で行った変更をマージしたいです。

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でそれを行うチャンスが常にあります。 originにごfixブランチをプッシュした後

(あなたもいることをする必要はありません)、fix枝の上にあることは

git format-patch master.. 

を使用してパッチを作成しながら、これは、それぞれのパッチファイルを作成しますが、あなたをコミット分岐してからfixになりましたmaster。あなたは

tar czf fix.tgz *.patch 

で生成.patchファイルをバンドルして、例えば誰かに送ることができます電子メールで確認し、適用する。

完全性のために、パッチを適用するには、git amを使用します。

+3

は、あなたが実際の質問を逃しているように見えたし、タイトルだけに答え...それは明確に持っている、プルリクエストはGitoriousに行く必要があると述べ*独自の*プルリクエストメカニズム。 –

+6

これは、git自体に "merge request"という概念がないという事実は変わりません。 – svick

+7

@Idan:OPは、マージリクエストを開くために**コマンドライン**道を尋ねます。そしてそれはまさに私が描いていることです。 – eckes

関連する問題