Closed henpa closed 8 years ago
Not a silly question at all. Several people have been wishing that this repo was more "pullable", in the sense that when new tech is added, someone with a fork could simply pull in those changes. Unfortunately, however, it's not really structured in that way.
What I have been doing is, every once in a while, looking back at the commits to this repo and copying the ones that I want manually into my own project. It's far from ideal, but I'm not entirely sure how to implement a more "pullable" version.
This repo serves primarily as an educational tool and jumping off point for your own project, and the people that come to it later get to jump from a little bit higher, as this repo continues to progress.
I forked this repo (korczis/the-scrath), I wrapped some parts, and I do pull/merge changes often ... I do use my fork (refactored/modularized in brutal way) as base for my other projects ...
Layout of my project. Far from perfect ...
.
├── api
│ ├── actions
│ │ ├── layer
│ │ └── widget
│ ├── auth
│ ├── middleware
│ └── persistence
│ ├── couchbase
│ └── elastic
├── bin
├── config
├── docks
│ └── couchbase
│ └── scripts
├── docs
├── scripts
├── shared
├── src
│ ├── components
│ │ ├── CounterButton
│ │ ├── GithubButton
│ │ ├── Gui
│ │ ├── InfoBar
│ │ ├── MiniInfoBar
│ │ ├── SurveyForm
│ │ ├── WidgetForm
│ │ └── __tests__
│ ├── containers
│ │ ├── About
│ │ ├── App
│ │ ├── Auth
│ │ ├── Home
│ │ ├── Intro
│ │ ├── Login
│ │ ├── LoginSuccess
│ │ ├── Map
│ │ ├── NotFound
│ │ ├── RequireLogin
│ │ ├── Survey
│ │ └── Widgets
│ ├── helpers
│ ├── modules
│ │ └── color
│ ├── redux
│ │ ├── helpers
│ │ ├── middleware
│ │ └── modules
│ ├── server
│ │ ├── middleware
│ │ └── routes
│ ├── services
│ └── utils
├── static
│ ├── components
│ │ ├── components-font-awesome
│ │ │ ├── css
│ │ │ ├── fonts
│ │ │ ├── less
│ │ │ └── scss
│ │ ├── dat.gui
│ │ ├── google-maps-api-threejs-layer
│ │ │ ├── dist
│ │ │ ├── examples
│ │ │ ├── lib
│ │ │ └── webpack
│ │ ├── rbush
│ │ │ ├── bench
│ │ │ ├── test
│ │ │ └── viz
│ │ ├── rbush-knn
│ │ ├── stats.js
│ │ │ ├── build
│ │ │ └── files
│ │ ├── three.js
│ │ └── tinyqueue
│ ├── dist
│ └── img
│ ├── promo
│ └── sn
├── tmp
└── webpack
81 directories
I think the nature of this project is a starting point, and not a library or framework. In my case, I am about to use this as the starting point for a few projects, so I'm spending some time upgrading it beforehand (trying to upgrade to router rc1).
I feel it's organize nicely enough where hand copying changes isn't too brutal. But really, once you bootstrap your project with this, you own that code.
Perhaps we can extract some chunks of this into a lib
directory and then move them into another repo.
I have found it helpful to git clone the project into a new local one that
you name. Then cd
Then init your own git repo. git clone this project in another directory, perhaps a sibling of your project directory, retaining the default project name.
Here's the magic!!! From time-to-time do a git pull for this project then using a file/directory utility, compare changes with your personal project/repo. (Google file directory compare utilities). This kind of tool quickly/easily reveals any changes/additions/deletions, etc.
On Wednesday, September 23, 2015, Dan Schuman notifications@github.com wrote:
I think the nature of this project is a starting point, and not a library or framework. In my case, I am about to use this as the starting point for a few projects, so I'm spending some time upgrading it beforehand (trying to upgrade to router rc1).
I feel it's organize nicely enough where hand copying changes isn't too brutal. But really, once you bootstrap your project with this, you own that code.
Perhaps we can extract some chunks of this into a lib directory and then move them into another repo.
— Reply to this email directly or view it on GitHub https://github.com/erikras/react-redux-universal-hot-example/issues/213#issuecomment-142719553 .
Did I hear "Let's help @erikras build a React/Redux Framework"??? lol... just kidding.. or am I? ;-)
Anyway.. I'm okay with cloning and following the commits and applying the changes manually (or to write a quick script to apply/sync them for me in a way similar to @LarryEitel's suggestion).
Thanks everybody for the help! I hope to contribute more in the near future.
I also like this repo a lot. There are quite a few challenges with using it in another project, so I went on to find an easy solution to pull changes.
Please note that my path is far from perfect, and that it relies on the fact that this repo is stable and it's less likely to change its folder structure significantly. When that happens, we'll have to dig for a more clever solution.
So for my use case I detailed how to start a new project from this boilerplate using git checkout-index.
In order to keep up with the changes (mostly dependencies upgrades and bugfixes) I would
git checkout-index -f --prefix=/work/webdev/kickstart/ api/* .eslintrc
if I only wanted everything in the api/
folder and the eslintrc
file.
Hi, I'm really sorry if this question is dumb or silly, or even off-topic. I'm an experienced programmer (C/Go/JS), but I have almost always worked by myself and I have little experience with collaborative code and GitHub. I've also never worked with a boilerplate before. I'm trying to create a new project using react/redux/etc but I'm not sure exactly how I should use this repository.
I understand I can clone/fork and start working on my code. But this repository is so dynamic with bleeding edge libraries with daily changes and fixes, so how exactly are you guys using this boilerplate on new projects and at the same time keep up with all the new changes? Is it possible at all?
Do you clone it? Do you fork it? Do you apply changes manually? Do you "git pull" and deal with conflicts manually? Do you keep all the original files, but put new code on a "ignored" git sub directory?
I'd really appreciate if you guys could point me to the right direction. BTW, good work everybody -- you guys are awesome!