We are using SVN (on our own server) to manage source code and other related documents for our Wordpress Theme projects. Problem with SVN is that branches management (different versions of theme) is not straight-forward and quite slow. Merging branches is also complex. Releasing a branch is not possible (you have to export end upload to server by yourself)...

We are looking at Github. Does anyone have experiences using Github to manage your wordpress theme project? How do you prepare folder structure?

My main concern is localhost development.

1. Do you work directly on Git folder or do you work on a local version, then copy into Git folder (then push to Github)?

2. If you work directly on Git folder, so you have to push a full copy of Wordpress to Github?

3. If you work on another copy for localhost, so what is the process? Copy from Git folder to localhost, then after changing, copy from localhost to Git? This is the same process we are using on SVN, and it sometimes causes code conflict or code lost

4. What happens if you want to work on older version of project? Copy to another localhost folder? (Says you are developing 3.9 version, but want to fix 3.8 version?)

Any suggestions/shares would be appreciated. I think it will be useful for many teams

Regarding the structure and if you keep it locally or not depends on the project for me.
For the most though, I develop all projects locally and then just push to GitHub as it progresses.

For example, I might have a project under development at localhost/project/. I just make that a github repository and push all changes made as it goes along.

If I was in your place, i’d probably set up repositories locally either of different wordpress versions or theme versions vise.
For example, localhost/wp.x.x.x/ or for themes: localhost/themes/3.x/ etc etc.

In this case, it would be easy to just make the changes in any of those themes and versions, and then just push it back to GitHub. It would also make it easy to lets say if you want to change your development computer or w/e, you can just clone the whole rep and you’re almost ready.

Anyway, that’s probably the way I would do it. I’m sure that it’s probably other ways to do it that might fit better just for you, I guess it’s a matter of personal opinion.

When I was a team leader, we always used SVN and I like it most (Eclipse IDE has in fact a very useful Team Synchronizing (visual ! ) Perspective and View, so merging branches and managing releases was a very simple process. And we worked with a very big project, much bigger than a WordPress theme and never had issues coming from merges.

There is the Eclipse Helios release – this iDE is very helpful when it comes to using SVN. In a visual way, you don’t have to use complicated command lines, etc….

Personally I don’t trust GitHub, I know it has the option to mark a project private or password-protected, but still, it’s a public place…...

We do something like that but we don’t use the develop branch since we don’t really need it, main developer branch is simply the default master for us. The latest stable version on our demo server is automatically checked out from the latest tag which are always stable.

Post Reply

<strong></strong> to make things bold
<em></em> to emphasize
<ul><li> or <ol><li> to make lists
<h3> or <h4> to make headings
<pre></pre> for code blocks
<code></code> for a few words of code
<a></a> for links
<img> to paste in an image (it'll need to be hosted somewhere else though)
<blockquote></blockquote> to quote somebody