Gitoriousのファイアウォールの背後にあるインストールを使用しています。
Webアプリケーションに移動して、クローンからプルリクエストを作成し、それがクローンされたマスターリポジトリをターゲットにすることができます。
これをコマンドラインで実行できるようにしたいと思います。具体的には、コマンドラインからブランチから別のブランチへのマージリクエストを(クローンからシードリポジトリへではなく)開くことができるようにします。
私はGithubを使用していないため、 Github固有のツールまたはライブラリ を使用できません。これは可能ですか?
Git自体には「マージ要求」のようなものはありません。そのため、これが可能な場合は、Gitorious固有のツールが必要になります。純粋なgitでは不可能です。
svickによる回答 は正しくありません。 Itisは可能です。
git request-pull
これはGitスイートの一部です。そのコマンドラインツールを使用すると、電子メールごとに送信できるプル要求を作成できます。
例:
あなたのOrigin
はブランチmaster
を保持しています。次に、ローカルバグ修正ブランチfix
を作成し、バグ修正を実装し、その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..
これにより、fix
から分岐してからmaster
で行ったコミットごとにパッチファイルが作成されます。生成された.patch
ファイル
tar czf fix.tgz *.patch
その後、誰かに送信しますメールで確認して適用します。
完全を期すため、パッチの適用は git am
。
次のコマンドラインツールを使用できます。 https://github.com/brauliobo/gitorious-merge-request
./gitorious-merge-request -e [email protected] -s 'test' -r '~brauliobo/noosfero/brauliobos-noosfero' -a easysafeinstall -b master -t 'noosfero/noosfero'
Gitlabはv11.10からこの機能を追加します。最終的な変更をコミットした後、Push
の代わりに次を使用します。
git Push -o merge_request.create
マージリクエストを作成します。詳細は doc で。