私はファイアウォールの背後にインストールした Gitorious を使用しています。
Web アプリケーションにアクセスし、クローンからプル リクエストを作成し、クローン元のマスター リポジトリをターゲットにすることができます。
これをコマンドラインで実行できるようにしたいと思います。具体的には、あるブランチから別のブランチへのマージ リクエストをコマンドラインから開くことができるようにしたいと思います (クローンからシード リポジトリへのマージ リクエストではなく)。
Githubを使っていないので、Github固有のツールまたはライブラリ。これは可能ですか?
ベストアンサー1
のsvickによる回答正しくありません。は可能。
そこには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
。