質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

1回答

1095閲覧

ボイラープレートを成長させながら運用

mochi.monaka

総合スコア26

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

1クリップ

投稿2019/02/03 00:13

おそらく git 運用の初歩的な質問になると考えています。
git 自体の知識はまだあまりありません。


多くのウェブシステムで同じように必要になるだろう機能を予め実装した、いわゆるボイラープレートとしての Laravel プロジェクトをつくっています。

新規アプリケーションは、それをコピーしてアプリケーション依存の機能だけ付け足しや変更して使う想定ですが、時には、ボイラープレート側にフィードバックしたい(ボイラープレートの一部として還元したい)基礎的な機能の修正や新規実装も発生すると思います。
このような場合一般的にはどういう仕組や手順で行われるでしょうか。

私が想像したのは、
ボイラープレートを Github 等で管理しておき、新規アプリケーション毎に自分自身でフォークして進め、フィードバックしたい部分のみを自分にプルリクエストして受け入れ、みたいなものですが、同じような運用手法が検索できませんでした。


上記の想像で実際試して、プッシュ〜プルリクエストすると、ブランチを切っていてもコミットを分けていても、それまでの更新すべてを一挙にマージするかしないかの判断になってしまい、一部分のみを取り込む選択ができない、もしくはわかりませんでした。
還元したい差分だけに作業を留めおいてプッシュするとしても、アプリケーションはアプリケーションで作業を進めコミットとプッシュを重ねていくわけで、次回のプルリクエストでは再びこれまでの更新箇所すべてをマージするかしないかの判断になるように思えました。

さらに作業ブランチを切り、もう一つ更新してプッシュ、プルリクエストを作成してみると、プルリクエスト自体は先程とは別件として追加されたものの、その更新内容と併せて、まだマージしていない先程の更新内容も併せてマージするかの判断になってしまいました。マージされるまで差分がどんどん積み重なっていくように思えました。

さらに、フォークしたアプリケーションプロジェクトは、ボイラープレートを成長させるためにあるわけでなく、あくまで新規アプリケーションですから、アプリケーション用のリモートリポジトリを立てて git remote set-url ... で変更しました。
すると、還元先へ差分コードを提供する経路がなくなったように思いました。


ボイラープレート側での修正や還元受け入れが進むうちに、その成長部分は基本的にはフォークした各アプリケーションにも採り入れたいものの、部分によってはアプリケーション依存の実装に影響する理由で採り入れたくない部分も場合もあると思います。
部分単位で採り入れることは可能でしょうか。


Github を使って自身でフォークとプルリクエストするのは、想像した一つの方法であって、他の方法でもよいのですが、
ボイラープレートとそこから派生した各アプリケーションを都合よく同期、意図した一部分のみを採り入れ合う、ローカルとリモートが相互にチェリーピックし合うような運用にはどのようなやり方があるでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

そもそもLaravelを見れば分かるのでは。
GitHubのlaravel/laravelがプロジェクトテンプレート。
各ユーザーはcomposer create-projectlaravel newで新しいプロジェクトを作る。
laravel/laravelが変更されたら各自で自分のプロジェクトを修正する。

自分で作ったテンプレートでいちいち修正するのが面倒なら
共通化できる部分をcomposerパッケージとして分離すればいい。

投稿2019/02/03 00:35

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問