2016-11-16 11 views
0

私たちは、他のプロジェクトをブートストラップするために私たちの会社で使用する単一ページアプリケーションのスケルトンを作成しました。新しいプロジェクトをブートストラップするために使用されるプルされたリポジトリに変更をプッシュ

このスケルトンには、作業が必要なときはいつでもプルする独自のリポジトリがあります。

時々私はそれを変更することができますので、スケルトンgitリポジトリを含むフォルダにスケルトンを使ってプロジェクトを含むフォルダからこれらの変更をコピーし、コミットしてすべてをプッシュしますリモートリポジトリ。

Laravelさんは何をしているのですか?たとえば、Laravelの開発者として、私は新しいプロジェクトの作業を開始するためにLaravelリポジトリを取得することができましたが、修正可能なことがいくつかあることがわかりました。

私のワークフローはあまり効率的ではないようです。これを行うより良い方法がありますか?

答えて

1

これはGitで非常にうまくいくので、Gitで分岐を使用する必要があります。別のフォルダの場所で作業するのではなく、skeletonから新しいブランチを作成し、そこで改善してください。

git checkout skeleton 
git checkout -b feature 
# make your improvements 
git commit -m 'improvements made' 
git push origin feature 

フィーチャーブランチがリモートリポジトリにあるので、同僚の1人がレビューできます。その後、ブランチはにマージされます。 GitHubやBitBucketなどのリポジトリを使用している場合、このプロセスは少し自動化されています。

+0

しかし、新しいプロジェクトには、元のスケルトンリポジトリには必要のないものがたくさんあるかもしれません。 '.gitignore'ファイルを使ってこれらの新しいファイルを無視すべきでしょうか?スケルトンレポの一部ではあるが、プッシュバックしてはならないファイルはどうですか? (Laravelの 'routes.php'ファイルのように) – siannone

+0

もし' skeleton'にそのような変更が必要ないならば、 'skeleton'の並列バージョンとして機能ブランチを統合して保存しないでください。 'routes.php'に関しては、実際のソースコードに事実上含まれていない場合は、このファイルを' .gitignore'に追加することができます。ライブラリファイルとバイナリについても同様です。 –

+0

意味がありますが、これを少し実験して、Laravelがやっていることを「スパイ」するでしょう。ありがとう。 – siannone

関連する問題