45

Gitorious のファイアウォールの背後にインストールを使用しています。

Web アプリケーションにアクセスして、クローンからプル リクエストを作成し、クローン元のマスター リポジトリをターゲットにすることができます。

コマンドラインでこれを実行できるようにしたいと思います。より具体的には、(クローンからシード リポジトリではなく) あるブランチから別のブランチへのコマンド ラインからマージ リクエストを開くことができるようにしたいと考えています。

Github を使用していないため、 Github 固有のツールやライブラリを使用できません。これは可能ですか?

4

4 に答える 4

88

svickの答えは正しくありません。可能です

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

例:
youroriginは branch を保持していますmaster。ここで、ローカルのバグ修正ブランチを作成し、バグ修正を実装して、そのブランチを次の場所にfixプッシュします。fixorigin

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

fixこれにより、ブランチ オフ以降に行ったコミットごとにパッチ ファイルが作成されますmaster.patch生成されたファイルをバンドルすることができます

tar czf fix.tgz *.patch

そして、電子メールなどで誰かに送信して、レビューと適用を依頼します。

完全を期すために: パッチの適用はgit am.

于 2011-09-02T11:43:17.847 に答える
5

次のコマンドラインツールを使用できます:https ://github.com/brauliobo/gitorious-merge-request

./gitorious-merge-request -e brauliobo@gmail.com -s 'test' -r '~brauliobo/noosfero/brauliobos-noosfero' -a easysafeinstall -b master -t 'noosfero/noosfero'
于 2012-10-30T20:40:32.580 に答える
3

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

于 2011-09-01T17:13:01.453 に答える